二进制、八进制、十六进制与转换

将二进制、八进制、十六进制转换为十进制

二进制、八进制和十六进制向十进制转换都是非常容易的,就是“按权相加”。
所谓“”,也即“位权”。
例如:8546=8 * 10 ^ 3 + 5 * 10 ^ 2 + 4 * 10 ^ 1 + 6 * 10^ 0=8000+500+40+6
不同进制转换为十进制举例:

整数部分
1.将八进制数字 53627 转换成十进制:
53627 = 5× 8^4 + 3× 8^3 + 6×8^2 + 2×8^1 + 7×8^0 = 22423(十进制)

2.将十六进制数字 9FA8C 转换成十进制:9(15)(10)8(12)
9FA8C = 9×16^4 + 15×16^3 + 10×16^2 + 8×16^1 + 12×16^0 = 653964(十进制)

3.将二进制数字转换成十进制也是类似的道理:
11010 = 1×2^4 + 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0 = 26(十进制)
小数部分
1.将八进制数字 423.5176 转换成十进制:
423.5176 = 4×8^2 + 2×8^1 + 3×8^0 + 5×8^-1 + 1×8^-2 + 7×8^-3 + 6×8^-4 = 275.65576171875(十进制)

2.将二进制数字 1010.1101 转换成十进制:
1010.1101 = 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0 + 1×2^-1 + 1×2^-2 + 0×2^-3 + 1×2^-4 = 10.8125(十进制)

更多转换成十进制的例子:
二进制:1001 = 1×2^3 + 0×2^2 + 0×2^1 + 1×2^0 = 8 + 0 + 0 + 1 = 9(十进制)
二进制:101.1001 = 1×2^2 + 0×2^1 + 1×2^0 + 1×2^-1 + 0×2^-2 + 0×2^-3 + 1×2^-4 = 4 + 0 + 1 + 0.5 + 0 + 0 + 0.0625 = 5.5625(十进制)
八进制:302 = 3×8^2 + 0×8^1 + 2×8^0 = 192 + 0 + 2 = 194(十进制)
八进制:302.46 = 3×8^2 + 0×8^1 + 2×8^0 + 4×8^-1 + 6×8^-2 = 192 + 0 + 2 + 0.5 + 0.09375= 194.59375(十进制)
十六进制:EA7 = 14×16^2 + 10×16^1 + 7×16^0 = 3751(十进制)

将十进制转换为二进制、八进制、十六进制
整数部分
十进制整数转换为 N 进制整数采用“除 N 取余,逆序排列”法。

下图演示了将十进制数字 36926 转换成八进制的过程:
除8取余逆排序
其他进制照此方法求值
小数部分
十进制小数转换成 8进制小数采用“乘 8 取整,顺序排列”法。
下图演示了将十进制小数 0.930908203125 转换成八进制小数的过程:
在这里插入图片描述
从图中得知,十进制小数 0.930908203125 转换成八进制小数的结果为 0.7345。
转化其他进制照此方法求值

二进制整数和八进制整数之间的转换
二进制整数转换为八进制整数时,每三位二进制数字转换为一位八进制数字,运算的顺序是从低位向高位依次进行,高位不足三位用零补齐。下图演示了如何将二进制整数 1110111100 转换为八进制:
在这里插入图片描述
从图中可以看出,二进制整数 1110111100 转换为八进制的结果为 1674。

八进制整数转换为二进制整数时,思路是相反的,每一位八进制数字转换为三位二进制数字,运算的顺序也是从低位向高位依次进行。下图演示了如何将八进制整数 2743 转换为二进制:
在这里插入图片描述
从图中可以看出,八进制整数 2743 转换为二进制的结果为 10111100011。

二进制整数和十六进制整数之间的转换
二进制整数转换为十六进制整数时,每四位二进制数字转换为一位十六进制数字,运算的顺序是从低位向高位依次进行,高位不足四位用零补齐。下图演示了如何将二进制整数 10 1101 0101 1100 转换为十六进制:
在这里插入图片描述
从图中可以看出,二进制整数 10 1101 0101 1100 转换为十六进制的结果为 2D5C。

十六进制整数转换为二进制整数时,思路是相反的,每一位十六进制数字转换为四位二进制数字,运算的顺序也是从低位向高位依次进行。下图演示了如何将十六进制整数 A5D6 转换为二进制:
在这里插入图片描述
从图中可以看出,十六进制整数 A5D6 转换为二进制的结果为 1010 0101 1101 0110。

十进制转换二进制:表格法
在这里插入图片描述
如图求22.8125的值转换为二进制,先把整数和小数的值分开,把22拿到表格中比较,小于表格中的数就为0,大于表格中的数就为1,然后取差和下一个数再比较,小数部分0.8125和整数部分方法一样。

相对于整数部分除以转换值求余数取反,小数部分乘进制值取整比较这个方法更简单,图中的表格都是2的进制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章