十进制是公众最熟悉的数字系统。它是基数10,只有10个符号-0、1、2、3、4、5、6、7、8和9。而十六进制是计算机或数字系统中最常见的数字系统颜色表示。它是基数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。
有多种直接或间接的方法可以将十进制数转换为十六进制数。在间接方法中,您需要将十进制数字转换为其他数字系统(例如,二进制或八进制),然后可以通过使用二进制数字系统的分组并将每个八进制数字转换为二进制然后分组并将其转换为十六进制数字来进行转换转换成十六进制数。
示例-将十进制数105转换为十六进制数。
First convert it into binary or octal number, = (100)10= (1x26+1x25+0x24+0x23+1x22+0x21+0x20)10 or (1x82+4x81+4x80)10Because base of binary and octal are 2 and 8 respectively. = (1100100)2 or (144)8Then convert each digit of octal number into 3 bit of binary number, then use grouping of 4 bit of binary number. = (1100100)2 or (001 100 100)2= (110 0100)2= (0110 0100)2= (6 4)16= (64)16
但是,可以使用两种直接方法将十进制数转换为十六进制数-用余数转换和除法转换。这些解释如下。
这是一种简单的方法,涉及将要转换的数字相除。令十进制数为N,然后将该数字除以16,因为十六进制数制的底数为16。记下余数的值,取值为:0至15(用A代替10、11、12、13、14、15, B,C,D,E,F)。再次将剩余的十进制数除以使其变为0,并记下每个步骤的其余部分。然后从下到上(或以相反的顺序)写余数,这将等于给定十进制数的十六进制数。这是转换整数十进制数的过程,算法如下。
以小数点为分红。
将此数字除以16(此处16是十六进制的基数,因此除数)。
将余数存储在数组中(由于除数16,它将为0到15,分别用A,B,C,D,E,F替换10、11、12、13、14、15)。
重复上述两个步骤,直到数字大于零。
以相反的顺序打印数组(它将等于给定十进制数的十六进制数)。
请注意,被除数(此处给定的十进制数)是被除数,除数被除数中的除数(此处为十六进制,即16),商(余数除以十进制数)是除法的结果。师。
示例-将十进制数540转换为十六进制数。
由于给定的数字是十进制整数,因此通过使用上述算法,将余数与16进行短除。
师 | 余数(R) |
---|---|
540/16 = 33 | 12 = C |
33/16 = 2 | 1 |
2/16 = 0 | 2 |
0/16 = 0 | 0 |
现在,从下到上(以相反的顺序)写入余数,这将是021C(或仅21C),它等于十进制整数540的十六进制数。
但是以上方法无法转换混合的分数部分(带整数和分数部分的数字)十六进制数。对于小数部分,该方法说明如下。
令小数部分为M,然后将该数字乘以16,因为十六进制数的底数为16。记下整数部分的值,该值将为− 0至15(将10、11、12、13、14、15替换为分别是A,B,C,D,E,F)。再次乘以剩余的十进制小数,直到它变为0,并记下每一步结果的每个整数部分。然后写出整数部分的注释结果,该结果将是给定十进制数的等效分数十六进制数。这是转换小数十进制数的过程,算法如下。
以十进制数为被乘数。
将此数字乘以16(16是十六进制的基数,因此在此乘数)。
将结果的整数部分的值存储在数组中(由于乘数16,它将为:0到15,分别用A,B,C,D,E,F替换10、11、12、13、14、15 )。
重复上述两个步骤,直到数字变为零。
打印数组(将是给定十进制小数的等效小数十六进制数)。
请注意,被乘数(此处为十进制小数)是要乘以乘数(此处为十六进制的底数,即16)
示例-将十进制小数0.06640625转换为十六进制数。
由于给定数字是十进制小数,因此使用上述算法对整数部分进行16的短乘运算。
乘法 | 结果整数部分 |
---|---|
0.06640625 x 16 = 1.0625 | 1 |
0.0625 x 16 = 1.0 | 1 |
0 x 16 = 0.0 | 0 |
现在,写出这些结果的整数部分,这将近似为0.110,它等于十进制小数0.06640625的等效十六进制小数。
此方法猜测十进制数的十六进制数。您需要绘制一个16的幂表,对于整数部分,该算法解释如下。
以任何十进制数字开头。
列出16的幂。
用十进制数除以16的最大幂。
找到其余的。
将余数除以16的下一个幂。
重复直到找到完整答案。
示例-将十进制数380转换为十六进制数。
根据以上算法,幂表为16
小数 | 16 3 = 4096 | 16 2 = 256 | 16 1 = 16 | 16 0 = 1 |
十六进制数字 | 0 | 1 | 7 | C |
Divide the decimal number by the largest power of 16.
= 380 / 256 = 1.484375
So 1 will be first digit or most significant bit (MSB) of hexadecimal number.
Now, remainder will be,
= 380 - 1256 =124
Now, divide this
remainder by the next power of 16.
= 124 / 16 = 7.75
So 7 will be next digit or second most significant bit (MSB) of hexadecimal number.
Now, remainder will be,
= 124 - 716 = 12
Because remainder 12(= C) is less than base 16, so C(=12) will be ast (least significant) bit of required hexadecimal number.
Therefore, 17C will be equivalent hexadecimal number of given decimal number 380.