本帖最后由 jackz007 于 2020-12-13 14:02 编辑
先看看如何装配一个十进制数
- 1357 = 1 * 10 ^ 3 + 3 * 10 ^ 2 + 5 * 10 ^ 1 + 7 * 10 ^ 0
复制代码
不难看出,要装配出一个十进制数,就把这个数各个位上的值乘以相应位上 10 的幂次,然后,把这些数加在一起。
装配八进制数也依此类推。
- 八进制数:0o1357
- 1 * 8 ^ 3 + 3 * 8 ^ 2 + 5 * 8 ^ 1 + 7 * 8 ^ 0
复制代码
十六进制数当然也是依此类推
- 十六进制数 :0x1357
- 1 * 16 ^ 3 + 3 * 16 ^ 2 + 5 * 16 ^ 1 + 7 * 16 ^ 0
复制代码
再来看看如何把一个数转换成十进制
以十进制数 1357 为例
- 商 余
- 1357 / 10 135 7
- 135 / 10 13 5
- 13 / 10 1 3
- 1 / 10 0 1
复制代码
把所有余数按照逆序排列,得到十进制数 1357
可见,一个数要转换成十进制,就用这个数除以 10,记下余数,然后用得到的商再除以 10,记下余数,如此往复,直到商为 0 为止,把所有的余数逆序排列。
转换八进制数的方法依此类推
比如,把 5678 转换成八进制:
- 商 余
- 5678 / 8 709 6
- 709 / 8 88 5
- 88 / 8 11 0
- 11 / 8 1 3
- 1 / 8 0 1
复制代码
得到 5678 = 0o13056
转换十六进制数当然也是依此类推
比如,把 5678 转换为 16 进制:
- 商 余
- 5678 / 16 354 14
- 354 / 16 22 2
- 22 / 16 1 6
- 1 / 16 0 1
复制代码
得到 5678 = 0x162e