在开始学进制转换的时候,先把(21=2    22=4   23 =8     24 =16    25 =32    26 =64    27 =128   28 =256    29 =512     210 =1024 )  记住可以让之后的运算简洁一点

十六进制(1 2 3 4 5 6 7 8 9 A B C D E F)

当存在二进制(负数)时,如何判断二进制为负数?

可以根据二进制的左起第一位的数判断,当左起第一位为1时,如10110110,该二进制为负数,

                                                               当左起第一位为0时,如00110110,该二进制为正数。

 

二进制转十进制

当二进制为正数时,将二进制每个数都与对应的数对相乘,从右侧起第一个叫第零位,与20相乘,第二个叫第一位,与21相乘。。。。

比如  00110110

计算方法:

先将二级制对应相乘》00110110>>0*27+0*26+1*25+1*24+0*23+1*22+1*21+0*20==0+0+32+16+0+4+2+0=54

所以该二进制的十进制为54

 

当二进制为负数时,按位取反后加1可以得到对应的正数,然后加上负数即可。

比如   10110110

   计算方法:

先按位取反》10110110>>>>01001001

在加1        》01001001+1>>01001010

再转为十进制》》01001010>>>74,再加上负号,所以上面二进制负数对应的十进制为 -74        

 

 

十进制转为二进制

当十进制为正数时,可以将十进制除以2取余数,除到0为止。

比如   54

计算方法:

先除2取余数》54/2........0  第零位

                       27/2........1

                       13/2........1

                        6/2..........0

                        3/2.........1

                        1              第六位

最后得出二进制位110110,编程习惯将其补成8位,所以最后二进制为00110110

 

 

当十进制为负数时,可以将负数对应的正数转换成二进制,然后对二进制按位取反后加1即可

比如   -74

计算方法:

十进制-74所对应的正数为74,将其转换为二进制

先除2取余数》74/2...........0 第零位

                        37/2............1

                        18/2............0

                          9/2............1

                          4/2............0

                          2/2............0

                           1                第七位

最后得出二进制01001010

,再按位取反》01001010>10110101

,再加1》10110101>10110110

得出来的二进制位10110110

 

 

 

负数转换成八进制、十六进制,只需在补码(二进制)的基础上,3位合成一位计算,或者4位合成一位计算

-3的转换成二进制为:

11111101

八进制则将-3的二进制从右至左每3位为一个单元,不够三位用0补 即:

011 111 101

计算每一个单元,结果为:375

十六进制则将-3的二进制从右至左每4位合并为一个单元,即:

1111  1101

计算后为:FD