- 各种数制的概念:二进制 十进制 八进制 十六进制 以及之间的相互转换
- 二进制的概念:通俗的理解就是逢二进一,比如 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
- 而十进制则是 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
- 而八进制则是 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27 28 29
- 而十六进制是 1 2 3 4 5 6 7 8 9 A B C D E F (A----F表示10到15)
进制之间的互相转换:
然后以131的十进制数为例子,进行具体的数制转换:
十进制转八进制:131/8=16...........3
16/8=2..............0
2/8=2.................2 因此从下到上排列为203
十进制转二进制: 131/2=65.............1
65/2=32................1
32/2=16................0
16/2=8.................0
8/2=4...................0
4/2=2...................0
2/2=1..................0
1/2=1................1 因此从下到上的排列为10000011
十进制转换为十六进制:131/16=8........3
8/16=8...........8 因此从下到上进行排列为83
第二种转换形式是位权计算的转换形式:
以135为例子
八进制转十进制:(135)8=1*8的二次方+3*8的一次方+5*8的零次方=64+24+5=93
二进制转十进制:10=1*2的一次方+0*2的零次方=2+0=2
十六进制转十进制:(135)16=1*16的二次方+3*16的一次方+5*16的零次方=256+48+5 =309
第三种转换形式是拆位转换:
八进制转二进制(每位八进制数用三位二进制数表示):例如八进制数251,先进行拆位 然后每位都进行除二取余,转化成相应的二进制数,在排列在一起,最终形成二进制码,同时保证是八位 不够八位在高位补零添位。
第一位是2:2/2=1......0
1/2=1........1 因此2对应的二进制数是10
第二位是5:5/2=2........1
2/2=1..........0
1/2=1............1 因此5对应的二进制数是101
第三位是1:1/2=1.........1 因此1对应的二进制数是 1
即10 101 1 然后补零占位之后 10 101 001 然后之所以选择在1的前面加两个零 是因为只有在这个位置补位,才能保证1的意义没有变化,如果在10 的后面加零 意义就发生变化了。因此选择在1的前面加两个零。
二进制转八进制二进制转换为八进制主要是将二进制数分成三个一组,然后不够位数的在小数点的最左端或者最右端添加零来补位。再利用权位相加的方法进行转换,例如二进制数1011.11,然后由于不够分,进行拆分以及添零补位之后,可以获得001 011 .110,一定是在小数点的最左端或者最右端,不能越位。然后在把每三个一组进行转换,001:0*2的二次方 + 0*2的一次方 +1*2的零次方 =1
011:0*2的二次方+ 1*2的一次方 +1*2的零次方=3
110:1*2的二次方+ 1*2的一次方 +0*2的零次方=6
得出最终的结果即(13.6)8
十六进制转二进制(每一位十六进制数用四位二进制数表示)例如十六进制131转换成二进制数,先拆位
1: 根据表a 0001
3; 根据下表a 0011
1:根据下表a 0001 因此 最终的二进制数是 0001 0011 0001
二进制转换成十六进制例如10111101010.010001,然后也是先进行拆位 101 1110 1010. 0100 01 由于某些位置不够四位,按照之前的原则进行补零,即0101 1110 1010 .0100 0100,也是在小数点最左或者左右斤进行添零补位,之后进行权位相加,为了省区计算的步骤,直接根据下表得出结果:
即0101对应5
1110 对应E
1010对应A
0100对应4
0100对应4 最终得出结果5EA.44
十六进制转换成二进制,例如十六进制137,先进行拆位
1 3 7 再根据表格进行对照
1对应0001
3对应0011
7对应0111 最终得出转换结果 0001 0011 0111
- 常用的几个进制之间的关系对照表:表a
二进制 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 |
八进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
十进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
十六进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E |
- 原码 反码 补码的概念以及计算方式
原码补码反码的含义是符号数即用二进制数以及符号来表示数值的方式。
一个数的原码表示方式是:符号数+二进制数值
以上三者要满足符号数+数值总共八位的条件,不够要补零占位。
其中正数的符号位是0
负数的符号位是1
举例子:以7为例:
原码是 0 111 补位之后0 0000111
反码是0 0000111
补码是00000111(如果够2 了 要逢二进一)
也就是说正数的原码 反码以及补码都是一样的。
以-7为例
原码是1 111补位之后 1 0000111
反码是1 1111000
补码是 1 1111001
也就是说负数的反码是除了符号位其余是原码取反
而负数的补码则是在反码的基础上加1