二进制、十进制、十六进制的互转简便算法

合集下载

二进制,八进制,十进制,十六进制之间的相互转换和相关概念

二进制,八进制,十进制,十六进制之间的相互转换和相关概念

二进制,八进制,十进制,十六进制之间的相互转换和相关概念二进制:计算机只认识0或1,也就是高电平和低电平.所以所有的数据格式最终会转化为2进制形式,计算机硬件才能识别。

二进制逢二进一,八进制逢八进一,十进制逢十进一,十六进制逢十六进一。

下边是各进制之间的转换公式.二进制转十进制0110 0100(2) 换算成十进制第0位0 * 2^0 = 0第1位0 * 2^1 = 0第2位 1 * 2^2 = 4第3位0 * 2^3 = 0第4位0 * 2^4 = 0第5位 1 * 2^5 = 32第6位 1 * 2^6 = 64第7位0 * 2^7 = 0 +---------------------------100二进制转八进制可采用8421法1010011(2)首先每三位分割即: 001,010,011不足三位采用0补位.然后采用8421法: 001=1010=2011=3所以转换成8进制是123二进制转十六进制1101011010100(2)首先每四位分割即: 0001,1010,1101,0100不足四位采用0补位.然后采用8421法: 0001:11010:A1101:D0100:4所以转换成十六进制是1AD4十六进制当数字超过9后将采用A代替10,B代替11,C代替12,D代替13,E代替14,F代替15;下边是十进制的各种转换:十进制转二进制6(10)10进制数转换成二进制数,这是一个连续除2的过程:把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。

最后将所有余数倒序排列,得到数就是转换结果。

商余数6/2 3 03/2 1 11/2 0 1最后把余数从下向上排列写出110即是转换后的二进制.十进制转换八进制10进制数转换成八进制数,这是一个连续除8的过程:把要转换的数,除以8,得到商和余数,将商继续除以8,直到商为0。

最后将所有余数倒序排列,得到数就是转换结果。

120(10)商余数120/8 15 015/8 1 71/8 0 1最后把余数从下向上排列写出170即是转换后的八进制.十进制转换十六进制10进制数转换成十六进制数,这是一个连续除16的过程:把要转换的数,除以16,得到商和余数,将商继续除以16,直到商为0。

二进制_十进制_十六进制简单算法

二进制_十进制_十六进制简单算法

二进制,十六进制,十进制,八进制1.二进制转十进制,111 第一位的1 他就是一个1 不用管他,好,上一位,这位的1就要乘2了,因为是二进制,除了个位数,上位的都是乘着2上去的。

那就是1+1*2+1*2*2=7好比十进制的523 ,个位3不管,2这一位就要乘以10了(后几位就算是0也要乘,乘完以后还是0),5这一位又要乘以10,就是3+2*10+5*10*10=523。

2.二进制转十六进制,这个就是一个半字节(也就是4位)的二进制就是一个十六进制的数而已。

其它的跟二进制转十进制一样。

如11011 4位分开,0001 1011,0001 十六进制额他就是1了,1011 十进制是11 十六进制的B,结果1B ,还好不是2B。

这两个4位是互不影响的,得出数拼到一起OK.3.十进制转二进制,这个其实围绕核心有两种计算方法。

一种就是除法,除于2除于2 的那种,跟二进制转十进制反过来了。

如55 除 2 得27 余1 ,1就是个位了,没有余的话那就是0了,27除2 得13 余1,13除2 得6 余1 ,6除2得3余0,3除2 得1 余1 ,结果110111.第二种是一种减法,128 64 32 16 8 4 2 110000000 1000000 100000 10000 1000 100 10 1这几个数字是二进制8位,也就是一个字节,每一位对应十进制的数字。

如,55 看好位置,比32大64小,二进制最高位在32那边了,55-32=23 好100000 有了,23-16=7 10000 有了,下面很明显8不够,跳过,7-4=3 100 ,3-2=1 10 ,1 那就是1了,不用减了正好一个1。

100000+10000+100+10+1=110111。

下面就自己练练吧,熟能生巧。

4.十进制转十六进制,这个跟十进制转二进制差不多,用除的那种。

如,653 除16 得40 余13 13也就是D ,第一位是个位的D。

二进制八进制十进制十六进制之间的进制转换

二进制八进制十进制十六进制之间的进制转换

二进制八进制十进制十六进制之间的进制转换详情可参考百度百科:进制转换这个词条【主要搞懂1和2两条,其他的进制之间的转化就迎刃而解,很好懂了】1. 十进制-> 二进制:将这个十进制数连续除以2的过程,第一步除以2,得到商和余数,将商再继续除以2,得到又一个商和余数,直到商为0。

最后将所有余数倒序排列,得到的数就是转换成二进制的结果。

2. 二进制-> 十进制:二进制数第1位的权值是2的0次方,第2位的权值是2的1次方,第3位的权值是2的2次方。

(例如1258这个十进制数,实际上代表的是:1x1000+2x100+5x10+8x1=1258)那么1011这个二进制数,实际上代表的是:1x8+0x4+1x2+1x1=11(十进制数11)。

(这里的8就是2的3次方,4就是2的2次方,2就是2的1次方,1就是2的0次方)3. 十进制-> 八进制:十进制数转换成八进制的方法,和转换为二进制的方法类似,唯一变化:除数由2变成8。

4. 八进制-> 十进制和转换为二进制的方法类似,唯一变化是,底数变成8,第1位表示8的0次方,第二位表示8的一次方,第三位表示8的2次方,第四位表示8的3次方。

例如1314这个八进制数,十进制数就是1x512+3x64+1x8+4x1=716(十进制)5. 十进制-> 十六进制10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成16。

十六进制是0123456789ABCDEF这十六个字符表示。

那么单独一个A就是10,单独一个B就是11,CDEF,就分表表示12,13,14,15。

而10这个十六进制数,实际就是十进制中的16。

6. 十六进制-> 十进制和转换为二进制的方法类似,唯一变化是,底数变成16,第1位表示16的0次方,第二位表示16的一次方,第三位表示16的2次方,第四位表示16的3次方。

7. 二进制<--->八进制,之间的相互转换,更简单一些,因为8本身是2的三次方。

二进制十进制十六进制的互转简便算法

二进制十进制十六进制的互转简便算法

二进制、十进制、十六进制的互转简便算法
每个字节8位表示,字节(byte),半字节(nibble)4位表示。

对照如下二进制转换为十进制,举一反三:
学习IP地址子网划分,应牢记下表:
十进制转化为二进制,可用除余法,比如:
数47,用2不断除,整除写0,余1写1,分别为,23余1写1、11余1写1,5余1写1、2余1写1,整除写0、1余1写1。

所以答案为:00101111
十六进制转换为二进制或者十进制:
在转换过程中读取半字节而不是字节,十六进制的寻址方案只使用0~9得数字,大于10 的数由字母(A、B、C、D、E、F)来表示10、11、12、13、14、15。

cisco中习惯在十六进制前加(0x)如:0x5D。

0x在这里的意义是说明后面的是十六进制。

下面写出两个十六进制转化二进制的例子,可举一反三:
下面再写出两个十六进制转换为十进制的例子,可举一反三:
二进制转化为十六进制也是一样,讲8位一字节拆成2个半字节,对应十六进制表示方式合并即可。

然后再用转化出的二进制可轻松的得到十进制。

二进制十进制十六进制的互转简便算法

二进制十进制十六进制的互转简便算法

二进制十进制十六进制的互转简便算法一、二进制转十进制二进制是由0和1组成的数制系统,而十进制是由0到9组成的数制系统。

要将二进制转换为十进制,可以使用如下算法:1.将二进制数字从右到左依次编号,最右边的数字编号为0,次右边的数字编号为1,以此类推。

2.对于每个数字,将其与2的幂相乘,并将结果相加。

具体计算公式为:结果=第0位数字*2^0+第1位数字*2^1+第2位数字*2^2+...+第n位数字*2^n。

其中n为二进制数字的位数。

例如,要将二进制数1101转换为十进制,可以按照以下步骤进行计算:结果=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13因此,二进制数1101转换为十进制数13二、十进制转二进制要将十进制转换为二进制,可以使用如下算法:1.将十进制数除以2,将商和余数记录下来。

2.继续对商除以2,将新的商和余数记录下来。

3.重复上述步骤,直到商为0为止。

4.将记录下来的余数按照记下来的顺序从后往前排列,即得到二进制表示。

例如,要将十进制数26转换为二进制,可以按照以下步骤进行计算:26÷2=13余013÷2=6余16÷2=3余03÷2=1余11÷2=0余1三、二进制与十六进制之间转换二进制和十六进制都是基于2的幂次方的数制系统,因此它们之间有一种简便的转换方法。

1.将二进制数按照4位一组进行分组。

如果二进制数的位数不能被4整除,可以在原数的左边补0,使得位数能够被4整除。

2.将每一组二进制数字转换为相应的十六进制数值。

0-9直接对应0-9,而10-15则对应A-F。

将二进制数按4位一组进行分组得到:001011011100将每一组二进制数字转换为相应的十六进制数值得到:2DC反之,要将十六进制数2DC转换为二进制,可以按照以下步骤进行计算:将十六进制数中的每一位转换为相应的4位二进制数值得到:001011011100总结本文介绍了一些简便的算法,可以帮助您在二进制、十进制和十六进制之间进行转换。

计算机四种进制间的相互转化

计算机四种进制间的相互转化

二进制,八进制,十进制,十六进制之间的相互转化1.转换为十进制二进制化为十进制例:将二进制数101.01转换成十进制数(101.01)2 = 1×22 + 0×21 + 1×20 + 0×2-1 + 1×2-2 = (5.25)10 八进制化为十进制例:将八进制数12.6转换成十进制数(12.6)8 = 1×81 + 2×80 + 6×8-1 = (10.75)10十六化为十进制例:将十六进制数2AB.6转换成十进制数:(2AB.6)16 = 2×162 + 10×161 + 11×160 + 6×16-1 = (683.375)102.转换为二进制八进制化为二进制规则:按照顺序,每1位八进制数改写成等值的3位二进制数,次序不变。

例:(17.36)8 = (001 111 .011 110)2 = (1111.01111)2十六进制化为二进制规则:每1位十六进制数改写成等值的4位二进制数,次序不变。

例:(3A8C.D6)16 =(0011 1010 1000 1100.1101 0110)2 =(11101010001100.1101011)2十进制整数化为二进制整数规则:除二取余,直到商为零为止,倒排。

例:将十进制数86转化为二进制2 | 86 02 | 43 (1)2 | 21 (1)2 | 10 02 | 5 (1)2 | 2 02 | 1 (1)结果:(86)10 = (1010110)2十进制小数化为二进制小数规则:乘二取整,直到小数部分为零或给定的精度为止,顺排。

例:将十进制数0.875转化为二进制数0.875× 21.75× 21.5×21.0结果:(0.875)10 = (0.111)23.转换为八进制二进制化为八进制整数部份从最低有效位开始,以3位一组,最高有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的整数。

各进制之间的转换方法

各进制之间的转换方法

各进制之间的转换方法
以下是各进制之间的转换方法:
1. 二进制与十进制的转换:
- 二进制转十进制:将二进制数每位的值与对应的权值相乘,然后将乘积相加。

- 十进制转二进制:将十进制数不断除以2,得到的商和余数反向排列即为二进制数。

2. 二进制与十六进制的转换:
- 二进制转十六进制:将二进制数每4位一组,然后将每组的值转换为对应的十六进制数。

- 十六进制转二进制:将每位的十六进制数转换为4位的二进制数。

3. 十进制与十六进制的转换:
- 十进制转十六进制:将十进制数不断除以16,得到的商和余数反向排列,余数可以是0-9的数字或A-F的十六进制数字。

- 十六进制转十进制:将每位的十六进制数转换为对应的十进制数,然后将它们相加。

4. 八进制与十进制的转换:
- 八进制转十进制:将八进制数每位的值与对应的权值相乘,然后将乘积相
加。

- 十进制转八进制:将十进制数不断除以8,得到的商和余数反向排列即为八进制数。

5. 八进制与二进制的转换:
- 八进制转二进制:将八进制数中的每个数位分别转换为对应的3位二进制数。

- 二进制转八进制:将二进制数每3位一组,然后将每组的值转换为对应的八进制数。

这些转换方法可以通过手工计算或使用计算机程序来进行。

二进制_八进制_十进制_十六进制之间的相互转换

二进制_八进制_十进制_十六进制之间的相互转换

二进制,八进制,十进制,十六进制之间的相互转换和相关概念二进制:计算机只认识0或1,也就是高电平和低电平.所以所有的数据格式最终会转化为2进制形式,计算机硬件才能识别。

二进制逢二进一,八进制逢八进一,十进制逢十进一,十六进制逢十六进一。

下边是各进制之间的转换公式.二进制转十进制0110 0100(2) 换算成十进制第0位0 * 2^0 = 0第1位0 * 2^1 = 0第2位1 * 2^2 = 4第3位0 * 2^3 = 0第4位0 * 2^4 = 0第5位1 * 2^5 = 32第6位1 * 2^6 = 64第7位0 * 2^7 = 0 +---------------------------100二进制转八进制可采用8421法1010011(2)首先每三位分割即: 001,010,011不足三位采用0补位.然后采用8421法: 001=1010=2011=3所以转换成8进制是123二进制转十六进制1101011010100(2)首先每四位分割即: 0001,1010,1101,0100不足四位采用0补位.然后采用8421法: 0001:11010:A1101:D0100:4所以转换成十六进制是1AD4十六进制当数字超过9后将采用A代替10,B代替11,C代替12,D代替13,E代替14,F代替15;下边是十进制的各种转换:十进制转二进制6(10)10进制数转换成二进制数,这是一个连续除2的过程:把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。

最后将所有余数倒序排列,得到数就是转换结果。

商余数6/2 3 03/2 1 11/2 0 1最后把余数从下向上排列写出110即是转换后的二进制.十进制转换八进制10进制数转换成八进制数,这是一个连续除8的过程:把要转换的数,除以8,得到商和余数,将商继续除以8,直到商为0。

最后将所有余数倒序排列,得到数就是转换结果。

120(10)商余数120/8 15 015/8 1 71/8 0 1最后把余数从下向上排列写出170即是转换后的八进制.十进制转换十六进制10进制数转换成十六进制数,这是一个连续除16的过程:把要转换的数,除以16,得到商和余数,将商继续除以16,直到商为0。

二进制八进制十进制十六进制之间的转换方法

二进制八进制十进制十六进制之间的转换方法

二进制八进制十进制十六进制之间的转换方法二进制、八进制、十进制和十六进制是计算机中常用的数制表示方法。

在进行转换时,可以利用其数制规则和特点来进行相互转换。

以下将详细介绍二进制、八进制、十进制和十六进制之间的转换方法。

1.二进制转八进制:二进制数是由0和1组成的数,八进制数是由0-7组成的数。

每3位二进制数可以转换为1位的八进制数,所以将二进制数从右到左以3位一组进行分组,并用八进制数表示每组即可。

2.二进制转十进制:二进制数转换为十进制数的方法是将二进制数分别乘以2的n次方,并将结果相加,其中n从0开始递增,对应于从右到左的二进制位数。

3.二进制转十六进制:二进制数转换为十六进制数的方法是将二进制数分组为4位一组,然后将每组转换为十六进制数。

4.八进制转二进制:八进制数转换为二进制数的方法是将八进制数的每位转换为对应的3位二进制数。

例如:将八进制数326转换为二进制数,可以将其每位转换为对应的3位二进制数,得到结果:011010110。

5.八进制转十进制:八进制数转换为十进制数的方法是将八进制数分别乘以8的n次方,并将结果相加,其中n从0开始递增,对应于从右到左的八进制位数。

例如:将八进制数326转换为十进制数,可以分别计算3*8^2+2*8^1+6*8^0,得到结果:2066.八进制转十六进制:将八进制数转换为十六进制数,首先将八进制数转换为二进制数,然后将二进制数转换为十六进制数。

例如:将八进制数326转换为十六进制数,可以先将其转换为二进制数011010110,然后将二进制数转换为十六进制数,得到结果:D67.十进制转二进制:将十进制数转换为二进制数的方法是将十进制数不断除以2,然后将余数逆序排列,最后将得到的余数连接在一起。

8.十进制转八进制:将十进制数转换为八进制数的方法是将十进制数不断除以8,然后将余数逆序排列,最后将得到的余数连接在一起。

例如:将十进制数214转换为八进制数,可以依次计算214/8=26余6,26/8=3余2,3/8=0余3、最后将得到的余数逆序排列,得到结果:3269.十进制转十六进制:将十进制数转换为十六进制数的方法是将十进制数不断除以16,然后将余数逆序排列,对于10~15的余数,分别用A~F表示,最后将得到的余数连接在一起。

二进制八进制十进制十六进制之间的转换算法

二进制八进制十进制十六进制之间的转换算法

二进制八进制十进制十六进制之间的转换算法在计算机科学和数学领域,二进制、八进制、十进制和十六进制是常见的数字表示方法。

它们之间的转换算法非常重要,因为计算机内部一般使用二进制表示数据,而在人类交互中使用十进制更为常见,而八进制和十六进制则在一些特定的应用场景中使用。

下面将详细介绍二进制、八进制、十进制和十六进制之间的转换算法。

1.二进制转换为十进制:二进制是以2为基数的数制,表示只有0和1两个数字。

转换为十进制的方法是将每个二进制位上的数字乘以2的幂,然后求和。

例如,二进制数1101转换为十进制的计算过程是:1*2^3+1*2^2+0*2^1+1*2^0=132.十进制转换为二进制:十进制是以10为基数的数制,表示有0到9十个数字。

转换为二进制的方法是使用除2取余法,即将十进制数不断除以2,余数为二进制位上的数字,商继续除以2,直到商为0为止。

然后将余数按照从下至上的顺序排列,即得到二进制表示。

例如,十进制数13转换为二进制的计算过程是:13/2=商6,余16/2=商3,余03/2=商1,余11/2=商0,余1所以二进制数为11013.八进制转换为十进制:八进制是以8为基数的数制,表示有0到7八个数字。

转换为十进制的方法与二进制类似,将每个八进制位上的数字乘以8的幂,然后求和。

例如,八进制数132转换为十进制的计算过程是:1*8^2+3*8^1+2*8^0=904.十进制转换为八进制:十进制转换为八进制的方法是使用除8取余法,与二进制转换相似。

即将十进制数不断除以8,余数为八进制位上的数字,商继续除以8,直到商为0为止。

然后将余数按照从下至上的顺序排列,即得到八进制表示。

例如,十进制数90转换为八进制的计算过程是:90/8=商11,余211/8=商1,余31/8=商0,余1所以八进制数为1325.十六进制转换为十进制:十六进制是以16为基数的数制,表示有0到9和A到F共十六个数字,其中A表示十进制的10,B表示十进值的11,以此类推。

二进制,八进制,十进制,十六进制之间的转换算法

二进制,八进制,十进制,十六进制之间的转换算法

二进制,八进制,十进制,十六进制之间的转换算法二进制,八进制,十进制,十六进制之间的转换算法一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。

下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2,商84,余数为0。

第二步,将商84除以2,商42余数为0。

第三步,将商42除以2,商21余数为0。

第四步,将商21除以2,商10余数为1。

第五步,将商10除以2,商5余数为0。

第六步,将商5除以2,商2余数为1。

第七步,将商2除以2,商1余数为0。

第八步,将商1除以2,商0余数为1。

第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000(2)小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。

如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。

换句话说就是0舍1入。

读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;第四步,读数,从第一位读起,读到最后一位,即为0.001。

二进制、 八进制、十进制和十六进制转化方法

二进制、 八进制、十进制和十六进制转化方法

二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。

下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2,商84,余数为0。

第二步,将商84除以2,商42余数为0。

第三步,将商42除以2,商21余数为0。

第四步,将商21除以2,商10余数为1。

第五步,将商10除以2,商5余数为0。

第六步,将商5除以2,商2余数为1。

第七步,将商2除以2,商1余数为0。

第八步,将商1除以2,商0余数为1。

第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000(2)小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。

如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。

换句话说就是0舍1入。

读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;第四步,读数,从第一位读起,读到最后一位,即为0.001。

例2,将0.45转换为二进制(保留到小数点第四位)大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。

2,10,16进制转换

2,10,16进制转换

二进制转化2->8:二进制数三个一组,分别计算出数值就可以。

例:010110101 就是010一组,110一组,101一组!010是2,110是6,101是5.则八进制是265.2->10就是将二进制数位按权值加起来就完!例:010110010就是0×2的八次方+1×2的七次方+0×2六次方+1×2五次方+1×2四次方+0×2三次方+0×2二次方+1×2一次方+0×2零次方。

2->16是4个一组!原理一样!如二进制1001101 四个为一位 0100 1101 十六进制为 4D0000 0 1000 80001 1 1001 90010 2 1010 A0011 3 1011 B0100 4 1100 C0101 5 1101 D0110 6 1110 E0111 7 1111 F10进制转化10->2,这是一个连续除2的过程:把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。

最后将所有余数倒序排列,得到数就是转换结果。

小数点后乘2例: 6 把要转换的数,除以2,得到商和余数”。

那么:要转换的数是6, 6 ÷ 2,得到商是3,余数是0。

“将商继续除以2,直到商为0……”现在商是3,还不是0,所以继续除以2。

那就:3 ÷ 2, 得到商是1,余数是1。

“将商继续除以2,直到商为0……”现在商是1,还不是0,所以继续除以2。

那就:1 ÷ 2, 得到商是0,余数是110->810进制数转换成8进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成8。

来看一个例子,如何将十进制数120转换成八进制数。

用表格表示:被除数计算过程商余数120 120/8 15 015 15/8 1 71 1/8 0 1120转换为8进制,结果为:170。

小数点后乘810->1610进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成16。

进制转化公式

进制转化公式

进制转化公式
进制转化公式主要包括二进制转十进制、十进制转二进制、十进制转十六进制和十六进制转十进制四种。

1. 二进制转十进制公式:
将二进制数从左往右排列,分别与2的幂相乘,然后求和。

例如,二进制数1101转化为十进制数的计算公式为:
1 * 2^3 + 1 * 2^
2 + 0 * 2^1 + 1 * 2^0 = 13
2. 十进制转二进制公式:
将十进制数不断地除以2,并记录余数。

直到商为0为止,将记录的余数倒序排列即可。

例如,十进制数26转化为二进制数的计算公式为:
26 ÷ 2 = 商13,余0
13 ÷ 2 = 商6,余1
6 ÷ 2 = 商3,余0
3 ÷ 2 = 商1,余1
1 ÷
2 = 商0,余1
倒序排列余数为11010
3. 十进制转十六进制公式:
将十进制数不断地除以16,并记录余数。

直到商为0为止,将记录的余数倒序排列并转换成对应的字母即可。

例如,十进制数314转化为十六进制数的计算公式为:
314 ÷ 16 = 商19,余10(A)
19 ÷ 16 = 商1,余3
1 ÷ 16 = 商0,余1
倒序排列余数为13A
4. 十六进制转十进制公式:
将十六进制数从左往右排列,分别与16的幂相乘,然后求和。

例如,十六进制数1E转化为十进制数的计算公式为:
1 * 16^1 + 14 * 16^0 = 30
注意:以上都是简化说明,实际计算还需要考虑到进位和进位借位等情况。

二进制_八进制_十进制_十六进制之间的转换算法

二进制_八进制_十进制_十六进制之间的转换算法

二进制,八进制,十进制,十六进制之间的转换算法一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。

下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2,商84,余数为0。

第二步,将商84除以2,商42余数为0。

第三步,将商42除以2,商21余数为0。

第四步,将商21除以2,商10余数为1。

第五步,将商10除以2,商5余数为0。

第六步,将商5除以2,商2余数为1。

第七步,将商2除以2,商1余数为0。

第八步,将商1除以2,商0余数为1。

第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000(2)小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。

如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。

换句话说就是0舍1入。

读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;第四步,读数,从第一位读起,读到最后一位,即为0.001。

例2,将0.45转换为二进制(保留到小数点第四位)大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。

二进制_十进制_十六进制之间的转换算法则

二进制_十进制_十六进制之间的转换算法则

二进制_十进制_十六进制之间的转换算法则1.二进制转十进制:二进制是由0和1组成的数制系统。

转换算法如下:-从右向左,每一位的权值是2的n次方,n从0开始递增。

-将每一位上的数字与对应的权值相乘。

-将所有结果相加,得到十进制数。

例如,将二进制数1011转换为十进制数:(1×2³)+(0×2²)+(1×2¹)+(1×2⁰)=8+0+2+1=112.十进制转二进制:十进制是由0-9组成的数制系统。

转换算法如下:-将十进制数除以2,得到的商和余数。

-将余数从下往上排列,得到二进制数。

例如,将十进制数25转换为二进制数:25÷2=12余112÷2=6余06÷2=3余03÷2=1余11÷2=0余13.十进制转十六进制:十六进制是由0-9和A-F(或a-f)组成的数制系统。

转换算法如下:-将十进制数除以16,得到的商和余数。

-将余数从下往上排列,得到十六进制数。

余数大于9时,用A-F表示。

例如,将十进制数137转换为十六进制数:137÷16=8余98÷16=0余8从下往上排列余数得到十六进制数:894.十六进制转十进制:十六进制转换为十进制较为简单,每一位的权值是16的n次方,n从0开始递增。

将每一位上的数字与对应的权值相乘,然后将所有的结果相加,得到十进制数。

例如,将十六进制数3F转换为十进制数:(3×16¹)+(F×16⁰)=48+15=635.二进制转十六进制:二进制转十六进制可以通过二进制转换为十进制,然后十进制转换为十六进制的方法实现。

首先将二进制数转换为十进制数:(1×2⁶)+(1×2⁵)+(0×2⁴)+(1×2³)+(1×2²)+(0×2¹)+(1×2⁰)=64+32+0+8+4+0+1=109然后将十进制数转换为十六进制数:109÷16=6余13、因为13大于9,所以用D表示。

2进制、10进制和16进制的相互转换

2进制、10进制和16进制的相互转换

整数时十进制与二进制相互转换:二进制的1101转化成十进制1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13转化成十进制要从右到左用二进制的每个数去乘以2的相应次方,不过次方要从0开始。

相反,用十进制的13除以2,每除一下将余数就记在旁边,最后按余数从下向上排列就可得到1101。

由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。

这种做法称为“按权相加”法。

2的0次方是12的1次方是22的2次方是42的3次方是82的4次方是162的5次方是322的6次方是642的7次方是1282的8次方是2562的9次方是5122的10次方是10242的11次方是20482的12次方是40962的13次方是81922的14次方是163842的15次方是32768有小数点的十进制与二进制之间的转换:十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

例如19.95 转2进制分为两个步骤:(1) 小数点前:19/2=9余19/2=4 余14/2=2 余02/2=1 余01/2=0 余1由下往上取余数10011(2) 小数点后0.95*2 = 1.9 取整1(1.9-1)*2 = 1.8 取整1(1.8-1)*2 = 1.6 取整1(1.6-1)*2 = 1.2 取整1(1.2-1)*2 = 0.4 取整0(0.4-0)*2 = 0.8 取整0(0.8-0)*2 = 1.6 取整1(1.6-1)*2 = 1.2 取整1假设小数精度为8位,从上往下去则小数点后为0.11110011故19.95 转化为二进制为10011.11110011整数时八进制数转换为十进制数:八进制就是逢8进1。

八进制数采用0~7这八数来表达一个数。

八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方,以此类推。

二进制八进制十进制十六进制之间转换详解

二进制八进制十进制十六进制之间转换详解

二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。

下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2,商84,余数为0。

第二步,将商84除以2,商42余数为0。

第三步,将商42除以2,商21余数为0。

第四步,将商21除以2,商10余数为1。

第五步,将商10除以2,商5余数为0。

第六步,将商5除以2,商2余数为1。

第七步,将商2除以2,商1余数为0。

第八步,将商1除以2,商0余数为1。

第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000(2)小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。

如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。

换句话说就是0舍1入。

读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;第四步,读数,从第一位读起,读到最后一位,即为0.001。

例2,将0.45转换为二进制(保留到小数点第四位)大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。

关于二进制、十进制、八进制、十六进制数据转换计算方法详细总结

关于二进制、十进制、八进制、十六进制数据转换计算方法详细总结

在我们接触编程知识时,总会接触有关进制转换的知识,最常见的就是10进制与二进制或十六进制之间的转换,很多时候我们总会遗忘,虽然现在也出现了很多可以直接使用的网络在线的进制转换工具,但考试中,我们就要靠自己通过公式进行运算了。

今天就跟大家分享一下有关进制转换的理论知识,大家可以通过对比从里面发现共同点,这样便于我们理解记忆。

在进行讲解之前,我们先在下面放置一个对应表,因为在理解下面转换的时候,你可以随时查看该表。

一、十进制与二进制之间的转换(1)十进制转换为二进制,分为整数部分和小数部分①整数部分方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。

下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(10101000)2分析:第一步,将168除以2商84余数为0。

第二步,将商84除以2,商42余数为0。

第三步,将商42除以2,商21余数为0。

第四步,将商21除以2,商10余数为1。

第五步,将商10除以2,商5余数为0。

第六步,将商5除以2,商2余数为1。

第七步,将商2除以2,商1余数为0。

第八步,将商1除以2,商0余数为1。

第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000②小数部分方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。

如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。

换句话说就是0舍1入。

读数要从前面的整数读到后面的整数,下面举例:例1:将0.125换算为二进制得出结果:将0.125换算为二进制(0.001)2分析:第一步,将0.125乘以2,得0.25则整数部分为0小数部分为0.25;第二步将小数部分0.25乘以2得0.5则整数部分为0小数部分为0.5;第三步将小数部分0.5乘以2得1.0则整数部分为1小数部分为0.0;第四步读数从第一位读起读到最后一位即为0.001。

二进制、十进制、十六进制转换

二进制、十进制、十六进制转换

二进制、十进制、十六进制转换一.如何把二进制数转换到十进制就是是第几位就乘以2的几次方从右往左数从最后一位开始算,依次列为第0、1、2...位第n位的数(0或1)乘以2的n次方得到的结果相加就是答案例如:01101011.转十进制:第0位:1乘2的0次方=11乘2的1次方=20乘2的2次方=01乘2的3次方=80乘2的4次方=01乘2的5次方=321乘2的6次方=640乘2的7次方=0然后:1+2+0+8+0+32+64+0=107.二进制01101011=十进制107二.如何把十进制数转换到二进制1、用十进制数除进2取余数2、然后又用上面得到的商除以2取余数3、重复第二步,直到商是1为止。

4、然后按照:商、第N个余数、第N-1个余数。

第2个余数、第1个余数。

的顺序写下来的数就是二进制编码了。

例:110110/2=55。

055/2=27。

127/2=13。

113/2=6。

16/2=3。

03/2=1。

1商变成1了,现在从商——>余数:1101110三:二进制与十六进制如何互换二进制转换为十六进制,因为2的4次方等于16,所以4个二进制就等于一个十六进制。

二进制到十六进制,四位一并(不够补0);例:11110111110011001=1*2的0次方+1*2的3次方=91111=1*2的0次方+1*2的1次方+1*2的2次方+1*2的3次方=15=F(看以下列表)1110=1*2的1次方+1*2的2次方+1*2的3次方=14=E0001=1*2的0次方=1二进制1111011111001 = 十六进制1EF9十六进制到二进制,一位拆四。

十六进制679转二进制6 7 90110 0111 1001所以:十六进制679=二进制110 01111001列表(忘记这个叫什么表了):0000=00001=10010=20011=30100=40101=50110=60111=71000=81001=91010=A (10)1011=B (11)1100=C (12)1101=D (13)1110=E (14)1111=F (15)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二进制、十进制、十六进制的互转简便算法
每个字节8位表示,字节(byte),半字节(nibble)4位表示。

对照如下二进制转换为十进制,举一反三:
学习IP地址子网划分,应牢记下表:
十进制转化为二进制,可用除余法,比如:
数47,用2不断除,整除写0,余1写1,分别为,23余1写1、11余1写1,5余1写1、2余1写1,整除写0、1余1写1。

所以答案为:00101111
十六进制转换为二进制或者十进制:
在转换过程中读取半字节而不是字节,十六进制的寻址方案只使用0~9得数字,大于10 的数由字母(A、B、C、D、E、F)来表示10、11、12、13、14、15。

cisco中习惯在十六进制前加(0x)如:0x5D。

0x在这里的意义是说明后面的是十六进制。

下面写出两个十六进制转化二进制的例子,可举一反三:
下面再写出两个十六进制转换为十进制的例子,可举一反三:
二进制转化为十六进制也是一样,讲8位一字节拆成2个半字节,对应十六进制表示方式合并即可。

然后再用转化出的二进制可轻松的得到十进制。

相关文档
最新文档