如何将二进制转换为十六进制?
二进制是最简单的数制,它只使用 0 和 1 两个数字(即基数为 2)。由于数字电子技术只有这两种状态(0 或 1),因此二进制数在现代计算机工程师、网络和通信专家以及其他专业人士中最为常用。
而十六进制数是一种数值系统,其基数为 16,它只有 16 个符号——0、1、2、3、4、5、6、7、8、9 和 A、B、C、D、E、F。其中 A、B、C、D、E 和 F 分别表示十进制值 10、11、12、13、14 和 15。
从二进制到十六进制数制的转换
十六进制数制提供了一种方便的方法,可以将较大的二进制数转换为更紧凑的小组。将二进制数转换为十六进制数的方法有很多种。您可以使用直接方法或间接方法。首先,您需要将二进制数转换为其他进制系统(例如,转换为十进制或八进制)。然后,您需要将其转换为十六进制数。
最高有效位 (MSB) | 十六进制点 | 最低有效位 (LSB) | |||
---|---|---|---|---|---|
162 | 161 | 160 | 16-1 | 16-2 | 16-3 |
256 | 16 | 1 | 1/16 | 1/256 | 1/4096 |
由于数字是位置数制的一种类型。这意味着从右到左的位置权重为 160、161、162、163 等,对于整数部分;从左到右的位置权重为 16-1、16-2、16-3 等,对于小数部分。
示例——将二进制数 1101010 转换为十六进制数。
First convert this into decimal number: = (1101010)2 = 1x26+1x25+0x24+1x23+0x22+1x21+0x20 = 64+32+0+8+0+2+0 = (106)10 Then, convert it into hexadecimal number = (106)10 = 6x161+10x160 = (6A)16 which is answer.
但是,也有一种直接的方法可以将二进制数转换为十六进制数——分组,如下所述。
使用分组
由于十六进制数制中只有 16 个数字(从 0 到 7 和 A 到 F),因此我们可以使用仅 4 位来表示十六进制数制中的任何一位数字,如下所示:
十六进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
二进制 | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |
十六进制 | 8 | 9 | A | B | C | D | E | F |
二进制 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
因此,如果您将二进制输入数的每 4 位分成一组,然后用其等效的十六进制数字替换每一组二进制数,则该数的十六进制数就得到了。请注意,您可以向整数部分的最左位(或最高有效位)添加任意数量的 0,并向小数部分的最右位(或最低有效位)添加任意数量的 0 以完成 4 位一组,这不会改变输入二进制数的值。
因此,以下是将二进制数转换为十六进制数的步骤。
取二进制数
将二进制数字分成四位一组(从右开始)用于整数部分,从左开始用于小数部分。
将每组四个二进制数字转换为一个十六进制数字。
这是一个简单的算法,您需要将二进制数分组并替换其等效的十六进制数字。
示例 1——将二进制数 1010101101001 转换为十六进制数。这里没有二进制点,也没有小数部分。因此,
因此,二进制到十六进制为:
= (1010101101001)2 = (1 0101 0110 1001)2 = (0001 0101 0110 1001)2 = (1 5 6 9)16 = (1569)16
示例 2——将二进制数 001100101.110111 转换为十六进制数。这里有二进制点和小数部分。因此,
因此,二进制到十六进制为:
= (001100101.110111)2 = (0 0110 0101 . 1101 1100)2 = (0110 0101 . 1101 1100)2 = (6 5 . D C)16 = (65.DC)16
以上是将二进制数转换为十六进制数的简单转换。