2018-12-16

今天遇到别人问二进制、十进制、十六进制的问题,整理了一下思路

十进制与二进制的转换

所有不超过256的十进制数都可以用8位二进制表示,超过的也简单,在八位的前头再加八位

以八位二进制为例,

1111 1111

从左往右数分别是二进制的第八、七、六、五、四、三、二、一位,第八位对应的十进制数是128,第七位对应的是64,然后是32、16、8、4、2、1

上方的1111 1111用十进制表示就是128+64+32+16+8+4+2+1=255

反过来给你一个十进制数210求它的二进制数,也按照先高位后低位的顺序算,

首先210不超过255还比128大,所以在第八位写1,210-128=82,82比64大,所以在第七位写1,82-64=18,18没有32大,所以第六位写0,18比16大,第五位写1,18-16=2,2比8小,第四位写0,比4小,第三位写0,2和2相等,所以第二位写1,最后一位没有了,写0,所以210对应的二进制数是

11010010

其他常用的数例如第八和第七位之和是192,前三位是224,其他就看个人是否经常用到,

这里讲的是口算的情况,也是给大家提供一个思路,不是必须得反复除以二。

十六进制与二进制转换

只需记住每一个十六进制数都是四位的二进制数例如

0x56

就是用四位二进制表示5再加上四位二进制表示6

0101(5) 0110(6)合起来0x56就是

0101 0110

你可能感兴趣的:(2018-12-16)