进制转换
其它进制转十进制
2、8、16转十进制公式:
1 | abcde = e * 1 + d * 2 + c * 2^2 + a * 2^3 |
例如:
1 | # binary --> decimal |
十进制转其它进制
公式1:将十进制数不断除以进制位数,直到无法再除时,最后得到的商以及每步得到的余数组合起来就是对应进制数的值。
公式2:用进制数的幂次方不断累加测试,主要用于十进制转2进制,偶尔用于十进制转8进制,几乎不用于10进制转16进制。
例如,123转2进制:
1 | 商 余 |
其中最后一步的商为1,从后向前每步余数为111011,组合的结果是1111011,这就是123对应的2进制值。
累加法:
1 | 123 = 64 + 32 + 16 + 8 + 2 + 1 |
所以,123的二进制值为1111011。
10进制的123转8进制:
1 | 商 余 |
所以123对应的8进制数为173。
二进制转八进制
公式:二进制数从最右开始,每3位一组计算十进制数,组合结果就是对应的八进制数值。
1 | 111001011 -> ? |
所以结果是0713
。
二进制转十六进制
公式:二进制数从最右开始,每4位一组计算十进制数,组合结果就是对应的十六进制数值。
1 | 111001011 -> ? |
所以结果是0x1cb
。
八和十六进制转二进制
公式:将每一位转换成3位或4位的二进制,组合起来的结果就是对应的二进制值。
1 | # 八进制的123转二进制 |
所以8进制的123转二进制的结果是1010011。
1 | # 十六进制的123转二进制 |
所以8进制的123转二进制的结果是100100011。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 骏马金龙!
评论