嵌入式c语言基础(第一章 进制和码制)

1.2常用的几种进制

1.十进制

十进制在我们生活中非常常见,运用最多的,十进制数中,十进制数的每一位的取值范围只能是0~9,基数是10,如果某一位超过9,则必须用多位进行表示,其中低位和相邻高位之间的运算关系遵守“逢十进一”,称为十进制。列如:

147.75=1*10²+4*10¹+7*10º+7*10﹣¹+5*10﹣²

判断一个数是不是十进制,主要判断其每一位是不是都在0~9范围内,比如:18、20、995、8854等这些都是十进制数。

2.二进制

二进制目前是各个应用领域非常广的一数制,每位只能从0和1取,所以基数是2,其中低位和相邻高位之间的运输关系遵守“逢二进一”,称为二进制。

期中式中的下脚标2为二进制数,有的时候用0b或者b表示。

判断一个数是不是二进制数,从两方面判断,第一前缀,二进制的前缀是0b或者b开头,第二就是看数值,数字只能是0或者1。比如:0b1001、0b01101等。

3.八进制

八进制数的没一位就只能从0~7中取一位,并且计数的基数是8,其中低位相邻高位之间的运算关系遵守“逢八进一”,称为八进制。

期中式中的下脚标8为八进制数,有的时候用0表示。

判断一个数是不是八进制,通过两部分,第一是前缀,八进制的前缀为0,第二就是看数值,每一位都在0~8区间,比如:0157、0445等。

4.十六进制数的每一位有16个不同的数码,分别用0~9,A(10)、B(11)、C(12)、D(13)、E(14)、F(15)表示。并且计数的基数是16,其中低位相邻高位之间的运算关系遵守“逢十六进一”,称为十六进制。

期中式中的下脚标8为八进制数,有的时候用0x或者H表示。

1.3常用进制之间的转换

任何进制计算,高位都是在左边,右边为低位,在高位前补零。

对于二进制转十进制的规则:以2为底,从低位想高位每一位进行2幂运算,在和与之对应的位进行乘在求和。

十进制转二进制就是对十进制数的一个2为除数的求余过程,在写二进制的结果的时候,顺序倒着写。

二进制转八进制

对于二进制转八进制来说,把二进制从低位想高位进行3位二进制位一个单位进行划分,也就是3为二进制数对一位八进制数,进行二进制转八进制时,必须从右往左进行3位二进制位一个断点,不足在最高前面补零。

八进制转二进制,1位八进制对应3位二进制。

二进制转十六进制

将二进制转化为等价的十六进制数称为二进制转十六进制,从高位到低位将小部分进行4位一组进行等值替换为十六进制数,4位二进制数对应1位十六进制数。

十六进制转二进制,将1位十六进制数转化为4位二进制数。

原码、反码、补码

一个八位二进制数就是原码,如果原码是正的,反码就是本身,是负的就是在原码的基础上取反,如果原码是正的,补码也是本身,是负的话就是反码符号位不变,最后加一

你可能感兴趣的:(嵌入式c语言基础(第一章 进制和码制))