不管是将十进制转换成十六进制,还是十六进制转换成十进制,都属于进制转换,即数制转换。进制转换有利于让不同基数的数据更容易相互转换,熟练掌握进制转换有助于提高数学能力、理解计算机底层原理。
一、十进制到十六进制的转换
1. 了解十进制和十六进制的特点:
(1)十进制的位数就是其代表的数值,从最高位到最低位,从左到右依次分别对应“10的N次方”(N从0开始),不满10(或者以外的某个位数)用0填充;
(2)而十六进制比十进制更省空间,它采用了0-9(数字0到9)和A-F(字母A到F)共16个字符来表示,从最高位到最低位,从左到右依次分别对应“16的N次方”(N从0开始),不满16用0填充;
2. 根据十进制转换到十六进制的原理:把要转换的十进制数的最低位,按照“16的0次方”的说法,转换成十六进制数,然后再从右往左依次穷举,找到其他位数的每一位对应的“16的N次方”,一步步得到十六进制的最终结果。
3. 以例子237进行转换:
(1)十六进制的最高位为ED,所以,该数的最低位是7;
(2)根据进制转换规律,7对应的“16的0次方”为7,即最低位ED的最后一位为7;
(3)再从右往左,即最高位,找到前面一位,也就是3,根据“16的1次方”规律,3对应的十六进制数为3,所以,最高位ED的第一位应该为3。
(4)由此,数237在十六进制中对应的数为ED,因此,十进制237转换为十六进制为ED。
二、十六进制到十进制的转换
1. 了解转换原理:
(1)从十六进制数的最高位开始,从左到右依次分别按照“16的N次方”(N从0开始)进行转换,把字母对应的数字也作为计算量;
(2)然后进行十六进制到十进制的转换,将该数乘以“16的N次方” 再加上其他位数的计算量,最终得到十进制的最终结果。
2. 以例子ED进行转换:
(1)取十六进制数ED的最低位7,根据“16的0次方”的规律,7对应的十进制数为7;
1.十进制转换成十六进制的步骤:
A.将整数(负数或正数)转换成二进制
1)将输入的整数(正数或负数)除以2,采用整除,然后记录余数;
2)重复第1步,直到最后的结果(商)为0为止;
3)把余数按照相反的顺序(从下到上,从右往左)组成一个二进制数,就是我们要求转换的十进制数的二进制形式。
B.将二进制转换成十六进制
1)将二进制末尾不足4位的用0补齐;
2)每4位为一组,分别把这4位二进制数转换成一个十六进制数(参考表:0000=0,0001=1,0010=2,0011=3,0100=4,0101=5,0110=6,0111=7,1000=8,1001=9,1010=A,1011=B,1100=C,1101=D,1110=E,1111=F);
3)将每组转换成一个十六进制数的结果,从左到右,依次连接起来,就是最终的十六进制数。
C.例子
将100转换成十六进制:
(1)将100除以2,采用整除,得到的商是50,余数是0;
(2)将50除以2,采用整除,得到的商是25,余数是0;
(3)将25除以2,采用整除,得到的商是12,余数是1;
(4)将12除以2,采用整除,得到的商是6,余数是0;
(5)将6除以2,采用整除,得到的商是3,余数是0;
(6)将3除以2,采用整除,得到的商是1,余数是1;
(7)将1除以2,采用整除,得到的商是0,余数是1;
经过上述7步,记录余数的顺序就是:1001,这是一个4位的二进制数。
(8)将1001转换成十六进制数:将1001分成两部分,一部分为0100,另一部分为0001;用参考表可以得到4=4、1=1,因此,最终1001转换成十六进制后为41。
因此,100转换成十六进制就是41。