二进制: 只有0和1两个数字符号来表示。基数为2,按逢2进1,借1算2的规则来计数。
十进制: 由0、1、2、3、4、5、6、7、8、9 十个数字符号来表示。基数为10,按逢10进1,借1算10的规则来计数。
八进制: 由0、1、2、3、4、5、6、7 八个数字符号来表示。基数为8,按逢8进1,借1算8的规则计数。
十六进制:由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 十六个数字符号来表示。基数为16,按逢16进1,借1算16的规则计数。(A、B、C、D、E、F分别表示10、11、12、13、14、15)。
1.十进制转换为二进制
方法:判断十进制数字是否有小数部分,若没有,只需将整数部分连续除以2,记下过程中的余数,直到商为0,然后将余数倒序排列即可得到二进制数值(见例一);若有小数,将整数部分和小数部分分开计算,小数部分连续乘以2,每次都取前次的小数部分,记下每次积的整数部分(1或0),然后顺序排列,添上整数部分可得到二进制数值(见例二)。
例一: 将十进制28转换为二进制 例二: 将十进制28.45转换为二进制
2 | 28 0 28.45小数部分为0.45
2 | 14 0 0.45×2=0.90 取其整数部分为0
2 | 7 1 0.90×2=1.80 取其整数部分为1,只留小数部分继续下一步
2 | 3 1 0.80×2=1.60 取其整数部分为1,只留小数部分继续下一步
2 | 1 1 0.60×2=1.20 ……
0
即:十进制28转换二进制是11100,
即:十进制28.45转换二进制是11100.0111
可表示为:(28.45)10 =(11100.0111)2
注:带小数的数制转换一般题目会给出让你保留几位小数。比如说让你保留四位小数的话,结果就是(28.45)10 =(11100.0111)2。如果题目要求保留5位或者6位小数的话,那么从上题省略号的地方还得继续算下去,直到小数够题目要求的为止。
2. 二进制转换为十进制
方法:将二进制每一位上的0或1乘以2的【所在位数的次方】,整数部分的指数为正,小数部分的指数为负(见例三)。
例三: 将二进制11100转换为十进制
(11100)2 = (1×2^4+1×2^3+1×2^2+0×2^1+0×2^0)10
=(16+8+4+0+0)10=(28)10
即:二进制11100转换十进制是28
练习:将二进制
(11100.0111)2 = (1×2^4+1×2^3+1×2^2+0×2^1+0×2^0+0×2^-1+1×2^-2+1×2^-3+1×2^-4)10
=(16+8+4+0+0+0+0.25+0.125+0.0625)10
=(28.4375)10
即:二进制11100.0111转换十进制是28.4375
如此一来,十进制与八进制转换;十进制与十六进制转换的方法就类似了,在此不再叙述。只要把所有的2转换为8或16,其它作相应更改。
3.二进制与八进制的转换
方法:将二进制从右向左每三位隔开,最左面的一段不足三位用0补足,每三位各自转换为八进制,所得的数罗列成八进制。将八进制的每一位转换为三位数的二进制,不足补0,依次罗列成二进制。(见例四)
例四: 将二进制1101110111011转换为八进制
1101110111011 — —>001,101,110,111,011
— —> 1, 5, 6, 7, 3
将八进制15673转换为二进制
15673 — —> 1, 5, 6, 7, 3
— —> 001,101,110,111,011
即二进制1101110111011转换八进制是15673 。
八进制15673转换二进制是1101110111011。
注:(000)2=(0)8 (001)2=(1)8 (010)2=(2)8 (011)2=(3)8
(100)2=(4)8 (101)2=(5)8 (110)2=(6)8 (111)2=(7)8
4.二进制与十六进制的转换
方法:将二进制从右向左每四位隔开,最左面的一段不足四位用0补足,每四位各自转换为十六进制,所得的数罗列成十六进制。将十六进制的每一位转换为四位数的二进制,不足补0,依次罗列成二进制。(见例五)
例五: 将二进制1111111011011100101110101001100001110110010101000011001000010000转换为十六进制
1111111011011100101110101001100001110110010101000011
00010000
—>1111,1110,1101,1100,1011,1010,1001,1000,0111,0110,0101,0100,0011,0010,0001,0000
—> F, E, D, C, B, A, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
即:二进制1111111011011100101110101001100001110110010101000011001000010000转换十六进制是FEDCBA9876543210
带小数的转换
十进制中小数变成二进制,方法是乘二取整:
例:将 十进制的0.125转换为二进制。
0.125 *2 = 0.25 取其整数部分是0
0.25 *2 = 0.5 取其整数部分是 0
0.5 *2 = 1 取其整数部分是1
所以,0.125的二进制表示是:0.001。
练习:0.8125的二进制。
0.8125*2=1.625 取整是1
0.625*2=1.25 取整是1
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.8125的二进制是0.1101(第一次所得到为最高位,最后一次得到为最低位)
十进制小数→→八进制小数 方法:“乘8取整”
(0.71875)10 =(0.56)8
0.71875*8=5.75 取整5
0.75*8=6.0 取整6
即0.56
十进制小数→→十六进制小数方法:“乘16取整”。例如:
(0.142578125) 10=(0.248) 16
0.142578125*16=2.28125 取整2
0.28125*16=4.5 取整4
0.5*16=8.0 取整8
即0.248
非十进制数之间的转换
(1)二进制数与八进制数之间的转换
转换方法是:以小数点为界,分别向左右每三位二进制数合成一位八进制数,或每一位八进制数展成三位二进制数,不足三位者补0。例如:
(423.45)8=(100 010 011.100 101)2
(1001001.1101)2=(001 001 001.110 100)2=(111.64)8
(2)二进制与十六进制转换
转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0。例如:
(ABCD.EF)16=(1010 1011 1100 1101.1110 1111)2
(101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5B4B. 68)16