十进制整数转换成二进制和十六进制形式
程序员文章站
2022-07-15 09:28:16
...
十进制整数转换成二进制和十六进制形式
十进制整数转换为二进制形式
十进制整数转换为二进制形式采用“除二取余,逆序排列”。具体做法如下:
举个栗子如69,
69 / 2 = 34 余数为1
34 / 2 = 17 余数为0
17 / 2 = 8 余数为1
8 / 2 = 4 余数为0
4 / 2 = 2 余数为0
2 / 2 = 1 余数为0
1 / 2 = 0 余数为1
除以2之后对取得的余数进行逆序排列,则69转换成二进制的形式就是0100 0101
二进制形式转换为十进制整数
2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
---|---|---|---|---|---|---|---|
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
如“10011000”转换为十进制的计算方法为:
1 * 2^7 + 0 * 2^6 + 0 * 2^5 + 1 * 2^4 + 1 * 2^3 + 0 * 2^2 + 0 * 2 ^1 + 0 * 2^0
= 128 + 16 + 8
= 152
十进制整数转换为十六进制形式
首先要明白是十六进制是逢16进1,所以十六进制每位的取值是 0~15,ABCDEF分别代表 10~15。
十进制转换为十六进制的思路和转换为二进制的思路类似。
即“除以16取余,逆序排列”具体方法如下:
举个栗子如1258,
1258 / 16 = 78 余数为10(A)
78 / 16 = 4 余数为12(C)
4 / 16 = 0 余数为4
所以1258转换为十六进制,对余数进行逆序排列为 4AC。
十六进制形式转换为十进制整数
同样,与二进制转换为十进制类似,只需要把二进制表中指数的底换成16即可。
16进制第0位是 16^0,第一位是 16^1,以此类推。
举个栗子如 2CA3,
3 * 16^0 + 10 * 16^1 + 12 * 16^2 + 2 * 16 ^4
= 134,307