进制转换:
通用方法:使用短除法
目录
二进制 :0b 开头 例 0b 0000 0001 等价于十进制的1
包含数字0 1 逢二进一
八进制:0 开头 例 0675 等价于十进制的445 6*(8^2)+7*(8^1)+5*(8^0) = 6*64+7*8+5=445
包含数字 0 1 2 3 4 5 6 7 逢八进一
十六进制:0x 开头 例如 0x8a 等价于十进制的 8*(16^1) +10*(16^0) = 138
包含数字 0 1 2 3 4 5 6 7 8 9 a b c d e f 后六个英文字母 代表 10 11 1 2 13 14 15 避免数字搞混。
1)二进制转八进制 , 八进制转二进制
由于八进制 一位的取值范围【0,7】恰好可以用 二进制的三位表示 2^3 = 8
二进制转八进制 从右往左 每三位 转换成十进制,最后在从左往右把转换的十进制连起来即为八进制数。
例如:11 000 011
3 0 3
0303即为转换后的八进制数
八进制转二进制 逆向上述过程 每一个八进制位 从左往右 转换为二进制数
例如:
0125
000 001 010 101
整理上述得到 0b 0101 0101 二进制数
2)二进制转十六进制 , 十六进制转二进制
与二进制转八进制同理
由于十六进制 一位的取值范围【0,15】恰好可以用 二进制的三位表示 2^4 = 16
二进制转十六进制 从右往左 每四位 转换成十进制,最后在从左往右把转换的十进制连起来即为十六进制数。碰到比9大的数字用 abcdef 表示 10 11 12 13 14 15
例如:1100 0011
c 3
0xc3即为转换后的十六进制数
十六进制转二进制 逆向上述过程 每一个十六进制位 从左往右 转换为二进制数
例如:
0125
0000 0001 0010 0101
整理上述得到 0b 0001 0010 0101 二进制数
3)八进制转十六进制,十六进制转八进制
二进制是中间商,但是不赚差价。
八进制转十六进制 先将八进制转换为二进制,再将二进制转换为十六进制。
十六进制转八进制同理。先将十六进制转换为二进制,再将二进制转换为八进制。