目录
1.十、二的转换
(1)十 转 二
十进制转换成二进制就是一个除以2取余数的过程。把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。
以十进制的6转换为二进制为例进行说明,如图1所示。
三次除以2计算得到余数依次是:0、1、1,将所有余数倒序排列是:110。所以十进制的6转换成二进制,结果是110。
(2)二 转 十
二进制转换成十进制要从右到左用二进制位上的每个数去乘以2的相应次方,例如,将最右边第一位的数乘以2的0次方,第二位的数乘以2的1次方,第n位的数乘以2的n-1次方,然后把所有乘得的结果相加,得到的结果就是转换后的十进制。
以二进制数01100100转换为十进制为例进行说明,转换方式如下:
0 * 2^0 + 0 * 2^1 + 1 * 2^2 + 0 * 2^3 + 0 * 2^4 + 1 * 2^5 + 1 * 2^6+ 0 * 2^7 = 100
由于0乘以多少都是0,所以上述表达式也可以简写为:
1 * 2^2 + 1 * 2^5 + 1 * 2^6 = 100
得到的结果100就是二进制数01100100转换后的十进制表现形式。
2.二、八、十六的转换
编程中之所以要用八进制和十六进制,是因为它们与二进制之间的互相转换很方便,而且它们比一串长的二进制数方便书写和记忆。接下来,就为大家详细介绍如何将二进制转换为八进制和十六进制。*
(1)二 转 八
二进制转八进制时,首先需要将二进制数自右向左每三位分成一段(不足三位的,在左侧补0),然后将二进制数每段的三位数转为八进制的一位,转换过程中数值的对应关系如表1所示。
表1 二进制和八进制数值对应表
二进制 | 八进制 |
---|---|
000 | 0 |
001 | 1 |
010 | 2 |
011 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
了解了二进制转八进制的规则,接下来详细讲解如何将一个二进制数00101010转为八进制,具体步骤如下:
1) 每三位分成一段,结果为:000 101 010
2)将每段的数值分别查表替换,结果如下:
000→ 0
101→ 5
010→ 2
3) 将替换的结果进行组合,转换的结果为:052(注意八进制必须以0开头)
(2)二 转 十六
二进制转十六进制,与转八进制类似,不同的是要将二进制数每四位分成一段(不足四位的,在左侧补0),然后通过查表将二进制数每段的四位数转换为八进制的每一位即可。二进制转十六进制过程中数值的对应关系如表2所示。
表2 二进制和十六进制数值对应表
二进制 | 十六进制 | 二进制 | 十六进制 | |
---|---|---|---|---|
0000 | 0 | 1000 | 8 | |
0001 | 1 | 1001 | 9 | |
0010 | 2 | 1010 | A | |
0011 | 3 | 1011 | B | |
0100 | 4 | 1100 | C | |
0101 | 5 | 1101 | D | |
0110 | 6 | 1110 | E | |
0111 | 7 | 1111 | F |
了解了二进制转十六进制的规则,接下来通过一个例子来学习一下。假设要将一个二进制数10100101转为十六进制,具体步骤如下:
1) 每四位分成一段,结果为:1010 0101
2) 将每段的数值分别查表替换,结果如下:
1010 → A
0101 → 5
3) 将替换的结果进行组合,转换的结果为:0xA5或0XA5(注意十六进制必须以0x或者0X开头)。