Skip to content

十进制(整数)转为二进制

除2取余,逆序排列(除2直到商为0)

如:255(十进制)=11111111(二进制)

255/2=127=====余1

127/2=63======余1

63/2=31=======余1

31/2=15=======余1

15/2=7========余1

7/2=3=========余1

3/2=1=========余1

1/2=0=========余1

十进制(小数)转为二进制

乘2取整,顺序排列(乘2直到积为整数)

案例1:如 0.625=(0.101)

0.625*2=1.25======取出整数部分1

0.25*2=0.5========取出整数部分0

0.5*2=1==========取出整数部分1

二进制转为十进制

【例题】把二进制1.1101转化为十进制数。

解析:整数部分转化为十进制数是1=1,

小数部分1+1+0+1=0.8125,

则二进制数1.1101对应的十进制数是1.8125。

二进制转十六进制

四位二进制数看作一个整体,那么刚好与十六进制的一个数对应

案例1:(10111101010)= 0101 1110 1010 =5EA


1比特(1位数据)可以表示2个数:0,1
2比特(2位数据)可以表示4个数:00,01,10,11
3比特(3位数据)可以表示8个数:000,001,010,100,011,101,110,111(8进制)
4比特(4位数据)可以表示16个数:.....(16进制正好16个数)
......
8比特(8位数据)可以表示2^8(256)个数:(0~255)

十进制 -> 二进制 -> 十六进制
255 -> 1111 1111 -> ff

所以:
2位十六进制的数,就是8比特,也就是1字节
计算机里存的都是二进制,为了方便看,二进制会被转换为十六进制

内存通常是以字节(8 位二进制,也就是 8 比特)为基本的可寻址单元,
从硬件角度去访问内存数据时,一般是按字节或者多个字节(如字长对应的字节数,常见的 32 位机器字长对应 4 字节,64 位机器字长对应 8 字节等)为单位进行读取操作

所以我的电脑是64位的机器,打开一个二进制的文件,会看到一堆十六进制的数字 2个符号一起,代表1字节,8个连续的2符号,表示8字节