2018.4.20 课堂笔记 二进制,八进制,十进制,十六进制 相互转化
在开始学进制转换的时候,先把(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