十六进制转换成十进制的具体算法是:
1、首先明白16进制数(从右到左数是第0位,第1位,第2位……)的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方,依次这样排列下去。
2、明白ABCDEF表示的二进制数字分别是10,11,12,13,14,15。
3、十六进制转换成十进制的公式是:要从右到左用二进制的每个数去乘以16的相应次方,然后这些数字相加就是了。
例1:
2AF5换算成10进制:
第0位:516^0=5
第1位:F16^1=1516^1=240
第2位:A16^2=1016^2=2560
第3位:216^3=8192结
果就是:516^0+1516^1+1016^2+216^3=10997
例2:CE换算成10进制:
第0位:E16^0=1416^0=14
第1位:C16^1=1216^1=192
结果就是:1416^0+1216^1=206
进制转换的理论
1、 二进制数、十六进制数转换为十进制数:
用按权展开法把一个任意R 进制数a n a n-1 a1a 0 a -1 a -2a -m转换成十进制数,其十进制数值为每一位数字与其位权之积的和。
a n ×Rn+ a n-1×R n-1 +…+ a 1×R 1 + a 0×R 0 + a -1 ×R -1+ a -2×R -2+ …+ a -m ×R -m
2、 十进制转化成R 进制十进制数轮换成R 进制数要分两个部分:整数部分要除R 取余数,直到商为0,得到的余数即为二进数各位的数码,余数从右到左排列(反序排 列) 。小数部分要乘R 取整数,得到的整数即为二进数各位的数码,整数从左到右排列(顺序排列) 。
3、十六进制转化成二进制:每一位十六进制数对应二进制的四位,逐位展开。
4、 二进制转化成十六进制:将二进制数从小数点开始分别向左(对二进制整数)或向右(对二进制小数)每四位组成一组,不足四位补零。
二进制数转换为十六进制数方法:一位二进制数可以有两种状态0或者1,一位十六进制数有16种状态0~9,A、B、C、D、E、F。也就是说4位二进制组合在一起才能完全表达一位十六进制数,24=16!简言之,一位十六进制数等同于4位二进制数。我们先看4位二进制数是如何转换位一位十六进制数的,然后扩展4位以上的二进制的转换为十六进制数。
1、4位二进制数转换为一位十六进制数
方法:把4位二进制数按权形式展开相加求和,即可。
例:把4位二进制数1010转换为一位十六进制数
二进制数1010按权形式展开形式如下:
(1010)2=1×23+0×22+1×21+0×20=(8+0+2+0)10=(10)10=(0A)16
结果为: (1101)2=(0A)16
例:把4位二进制数1001转换为一位十六进制数
(1001)2=1×23+0×22+0×21+1×20=(8+0+0+1)10=(9)10=(9)16
结果为: (1001)2=(9)16
观察上两例:
(1010)2=(8+0+2+0)10
(1001)2=(8+0+0+1)10
可知:4位二进制按权展开相加其实是位1所对应的权相加。
如二进制1010只有第四位,第二位为1,分别对应的权为23=8、21=2。
把(1010)2=(8+0+2+0)10形式简便下为:
(1010)2=(8+2)10=(10)10
(1001)2=(8+1)10=(9)10
进一步观察上两式可知,在加数中出现某权,其对应的二进制位数码一定是1。
现在我们就得到一个更简便的把二进制转换位十六进制的方法:
步骤:
①、先找出4位二进制中为1的位,然后写出其对应的权。
②、把这些权写成相加求和的形式,求出和即可。
举个例子,加深理解
例 (0100)2转换位十六进制数
步骤:
①、先找出4位二进制中为1的位,然后写出其对应的权。二进制数0100,第三位为1,其权为22=4
②、把这权写成相加求和的形式,因只有一个权,即一个加数,我们没必要写成加数求和形式,该权就是结果,即(0100)2=(4)10=(4)16
结果为 (0100)2=(4)16
2、 4位以上二进制数转换为十六进制数
方法:把4位以上二进制数,从“右至左”,4个二进制组成一个部分,不足的用0补,然后按4位二进制转换为一位十六进制的方法求解。
例:二进制数10011010转换为十六进制数
二进制数1001101从右至左,4位为一个部分形式如下:
0100 1101
① ②(为方便说明,我把这两部分左了标号,分别求出每部分的解)
①(0100)2 =(4)10=(0A)16
②(1101)2 =(8+4+1)10=(13)10=(0D)16
结果为(1001101)2=(0AD)16
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,因为数字计算机只能识别和处理由‘0’‘1’符号串组成的代码。其运算模式正是二进制。19世纪爱尔兰逻辑学家乔治布尔对逻辑命题的思考过程转化为对符号"0''''1''的某种代数演算,二进制是逢2进位的进位制。0、1是基本算符。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。
十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。
(一)十六进制化为十进制方法:
用个位数+十位数16+百位数256+千位数4096+相乘的时候,前面的一位数乘以的数是十后面一位数乘以数的16倍
具体案例如下:
(AB)=A×16+B=(171)
(ABC)=A×256+B×16+C=(2748)
(二)十进制化为十六进制的方法
把十进制转十六进制按照除16取余,直到商为0为止。(具体用法如下图)
二进制转换为16进制的方法如下:
1、取二进制数。
2、将二进制数字分成四组(从右开始)作为整数部分,从左开始作为小数部分。
3、以四个数字为一组分组,将每组转换为相应的十六进制数字。
4、这是一个简单的算法,但是需要将二进制数分组并把分组替换为与它们等价的十六进制数字。
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。
当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用1来表示“开”,0来表示“关”。
16进制(简称hex或下标16),在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a-f)表示,其中A-F表示10-15。
16进制普遍应用在计算机领域,因为将4个位元(Bit)化成单独的16进制数字不太困难。1个字节(Byte)可表示2个连续的16进制数字,但这种混合表示法易混淆,因此需要一些字首、字尾或下标来区分。
最简单的方式就是取四合一法。因为在十六进制里面只有16个数字(从0到7和A到F),所以我们可以使用4位来表示十六进制。你可以用4位二进制来代替等价的十六进制数字。那就是给定数字的十六进制。但需要注意的是对于整数部分,可以在最左边的位中添加任意数量的0,对于小数部分,可以在最右边的位中添加任意数量的0,以完成4位,这不会更改输入二进制数的值。将二进制数转换为十六进制数的步骤:取二进制数;将二进制数字分成四组(从右开始)作为整数部分,从左开始作为小数部分;以四个数字为一组分组,将每组转换为相应的十六进制数字。组分好以后,对照二进制与十六进制数的对应表,将四位二进制按权相加,得到的数就是一位十六进制数,然后按顺序排列,小数点的位置不变哦,最后得到的就是十六进制数这是一个简单的算法,但是需要将二进制数分组并把分组替换为与它们等价的十六进制数字。
另外,十六进制数字系统则提供了将二进制数转换为小组的简便方法。可以使用直接方法或间接方法将二进制数转换为十六进制数。首先,需要将二进制转换为其他基本系统(例如,转换为十进制或八进制)。然后需要将其转换为十六进制数。
注意16进制的表示法,用字母H后缀表示,比如BH就表示16进制数11;也可以用0X前缀表示,比如0X23就是16进制的23
十进制数256转换为十六进制整数采用"除16取余,逆序排列"法。具体做法是:用16去除十进制整数256,可以得到一个商16和余数0;再用16去除商16,又会得到一个商1和余数0;接着用16去除商1,又会得到一个商0和余数1。
然后把先得到的余数作为十六进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来,为0x100,或(100)16。
扩展资料:
十六进制转换有16进制每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F16个大小不同的数,即逢16进1,其中用A,B,C,D,E,F(字母使用大写)这六个字母来分别表示10,11,12,13,14,15。
由于表示方式没有单一、已协定的标准,所以最常用(或常见)表示十六进制数值的方式是将'0x'加在数字前,或在括号数字后加上16。
参考资料来源:
百度百科——十六进制
百度百科——十六进制转换
二进制、十六进制数转换为十进制数,挺简单的,只要把二进制、十六进制数按权展开相加即可。 例:二进制1101转换为十进制数 二进制1101按权展开形式如下: (1101)2=1×23+1×22+0×21+1×20=(8+4+0+1)10=(13)10结果为: (1101)2=(13)10 例:十六进制数FFFF转换为十进制数 十六进制数F80F按权展开形式如下:(F80F)16=15×163+8×162+0×161+15×160=(61440+2048+0+15)10=(63503)10结果为: (F80F)2=(63503)10四、二进制数转换为十六进制数 一位二进制数可以有两种状态0或者1,一位十六进制数有16种状态0~9,A、B、C、D、E、F。也就是说4位二进制组合在一起才能完全表达一位十六进制数,24=16!简言之,一位十六进制数等同于4位二进制数。我们先看4位二进制数是如何转换位一位十六进制数的,然后扩展4位以上的二进制的转换为十六进制数。 1、4位二进制数转换为一位十六进制数 方法:把4位二进制数按权形式展开相加求和,即可。 例:把4位二进制数1010转换为一位十六进制数 二进制数1010按权形式展开形式如下:(1010)2=1×23+0×22+1×21+0×20=(8+0+2+0)10=(10)10=(0A)16结果为: (1101)2=(0A)16例:把4位二进制数1001转换为一位十六进制数(1001)2=1×23+0×22+0×21+1×20=(8+0+0+1)10=(9)10=(9)16结果为: (1001)2=(9)16观察上两例: (1010)2=(8+0+2+0)10 (1001)2=(8+0+0+1)10可知:4位二进制按权展开相加其实是位1所对应的权相加。 如二进制1010只有第四位,第二位为1,分别对应的权为23=8、21=2。 把(1010)2=(8+0+2+0)10形式简便下为: (1010)2=(8+2)10=(10)10 (1001)2=(8+1)10=(9)10进一步观察上两式可知,在加数中出现某权,其对应的二进制位数码一定是1。现在我们就得到一个更简便的把二进制转换位十六进制的方法:步骤:①、先找出4位二进制中为1的位,然后写出其对应的权。②、把这些权写成相加求和的形式,求出和即可。举个例子,加深理解例 (0100)2转换位十六进制数步骤:①、先找出4位二进制中为1的位,然后写出其对应的权。二进制数0100,第三位为1,其权为22=4②、把这权写成相加求和的形式,因只有一个权,即一个加数,我们没必要写成加数求和形式,该权就是结果,即(0100)2=(4)10=(4)16结果为 (0100)2=(4)162、 4位以上二进制数转换为十六进制数 方法:把4位以上二进制数,从“右至左”,4个二进制组成一个部分,不足的用0补,然后按4位二进制转换为一位十六进制的方法求解。例:二进制数10011010转换为十六进制数 二进制数1001101从右至左,4位为一个部分形式如下: 0100 1101 ① ②(为方便说明,我把这两部分左了标号,分别求出每部分的解) ①(0100)2 =(4)10=(0A)16 ②(1101)2 =(8+4+1)10=(13)10=(0D)16结果为(1001101)2=(0AD)16五、十六进制数转换为二进制数 方法同二进制数转换为十六进制数相反步骤:①、把一位十六进制写成加数为23,22,21,20的一个多个相加的形式,即加数只能是8、4、2、1。②、加数中取到的权,其对应的位为1,反之为0。例:十六进制E转化为二进制 步骤:①、把一位十六进制写成加数为23,22,21,20的一个多个相加的形式,即加数只能是8、4、2、1。(0E)16=(14)10=(8+4+2)10。②、加数中取到的权,其对应的位为1,反之为0。该例取到23,22,21,其对应的位为1,即4位二进制中第四位、第三位、第二位,都位1,第一位为0。结果为:(0E)16=(1110)2多位16进制数转换为按照前面一位十六进制数的转换方法,一位一位的求!不繁琐!这里就不举例了! 到此进制的相互转换就完了,我的经验是,多练习,举一反三!比用其他进制转换的方法要简便。不容易出错!多多练习,大家共同学习,共同进步欢迎分享,转载请注明来源:内存溢出
评论列表(0条)