二进制与其它进制的转换和运算,应该说是计算机类的考试,逢试必考,这里总结一下知识点。
二进制运算原理,大家都知道,不外乎,除2取余和乘2取整。这种费时、费力的方法,这里就不说了。考试讲究的时间,所以要找些简便的方法,必要时还是要记一下“二进制的变化形”,做到一看二进制数就知道其的十进制是多少,形成条件反射,就和我们打五笔一样,不需要再默诵字根了。
一、多种进制之间换算、比较和运算的顺序和原则
1、先比较整数部分,再比较小数部分;
2、“八进制”、“十六进制”,都转换成“二进制”进行比较大小;
3、再将其中最大数由“二进制”转换成“十进制”数与剩下的“十进制”数比较大小;
二、整数部分的二进制转换成十进制
每4位为一组,每组有不同权值,从左至右为,“212、28、24、20”或“4096、256、16、1”,“n”为每组二进制的十进制值。我这么说你可能些糊涂,看看下面的两个例子,就明白了。其简便之处,在于只需记住“15 - 0”的二进制是多少就可以了。
1111 1111 1111 1111
(4096×n) + (256×n) + (16×n) + (1×n)
(212×n) + (28×n) + (24×n) + (20×n)
如:十六进制数“5E”的十进制数是多少?答:94
0101 1110
5×16 + 14×1 = 94
如:二进制数“0101 1100 0110”的十进制数是多少?答:1478
0101 1100 0110
5×256 + 12×16 + 6×1 = 1478
三、小数部分的二进制转换成十进制,需要记忆小数位后六位的二进制数。
指数 | 分数 | 二进制 | 十进制 |
2-1 | 1/21 | .1 | .5 |
2-2 | 1/22 | .01 | .25 |
2-3 | 1/23 | .001 | .125 |
2-4 | 1/24 | .0001 | .0625 |
2-5 | 1/25 | .0000 1 | .03125 |
2-6 | 1/26 | .0000 01 | .015625 |
如:二进制小数“.01011”转换成十进制小数为多少?答:“0.34375”
二进制数:0101 1
0.25 + 0.0625 + 0.03125 = 0.34375
四、二进制的分组,每四位分一组,和十六进制相统一,便于计算。
不足四位的分组,其原则是,整数位向左借0成组,小数位向右借0成组。
如:二进制数“1010100.001101”
二进制分组: 0101 0100 . 0011 0100
八进制分组: 001 010 100 . 001 101
原码
反码 正数的反码 = 原码
负数的反码 = 原码符号位不变,其余位逐位取反
补码 正数的补码 = 原码
负数的补码 = 原码符号位不变,其余位逐位取反,+1
移码 与补码的符号相反,常用来表示浮点数的阶码
欲对二进制各位取反,可用FFFF与该数进行异或运算。