进制转换转换以及原码反码和补码

一、进制转换

  1、数制和码制

 

常用数制表示法
十进制 二进制 八进制 十六进制 8421BCD码
0 0 0 0 0000
1 1 1 1 0001
2 10 2 2 0010
3 11 3 3 0011
4 100 4 4 0100
5 101 5 5 0101
6 110 6 6 0110
7 111 7 7 0111
8 1000 10 8 1000
9 1001 11 9 1001
10 1010 12 A 0001 0000
11 1011 13 B 0001 0001
12 1100 14 C 0001 0010
13 1101 15 D 0001 0011
14 1110 16 E 0001 0100
15 1111 17 F 0001 0101

 

 

 

 

 

 

 

 

 

 

 

 

  1、二进制数与十进制数之间的转换

    转换原则:按权展开相加,将二进制数写成N的各次幂之和形式,然后按十进制计算结果。

    (10111101)2 = 1x27+0x26+1x25+1x24+1x23+1x22+0x21+1x20 = (189)10

  2、二进制转八进制

        二进制(1 110   110  111  011  100= (166734)8

        八进制 1    6     6      7      3      4

  3、二进制转十六进制

   二进制       (1101   1001  1110  01002 = (D9E4)16

      十进制            13        9       14       4

      十六进制         D         9        E        4

4、二进制转8421bcd码

  二进制转8421bcd码不能直接转,通常二进制数先转为十进制数,再转为bcd码

  (1101)= (13)10 = (0001 0011)bcd

5、M进制向十进的转换

  转换原则:按权展开相加,将M进制数写成N的各次幂之和形式,然后按十进制计算结果。

  (5213)6 = 5 x 6+ 2 x 62+ 1 x 61+ 3 x 60 = (1186)10

6、十进制向N进制的转换

  转换原则:十进制数除N后倒取余    (150)10 = (226)8

  

  

二、原码反码和补码

  二进制数中,第一位为符号位,1表示负数,0表示正数

1、正数:反码补码和原码一样

2、负数:

    原码:最高位是1,后面是其绝对值的二进制数

    反码:符号位不变,数据位按位取反

    补码:在其反码的最后一位+1

3、计算

  在计算机中运算中,加减法是高频运算,使用同一个运算器,可以减少中间变量存储的开销,这样也降低了CPU内部的设计复杂度

  减去一个数等于加上这个数的负数

  两个正数正数相加时,按照二进制加法直接计算即可

  如果有负数参与计算时则要使用其补码来参与计算。

  例                 

             

          负数:最左一位表示负,右面七位按位取反+1   -(0000010)=-2

 

 

 

猜你喜欢

转载自www.cnblogs.com/haoyujun135/p/11257154.html