二进制、八进制、十进制和十六进制数转换

合集下载

二进制、八进制、十进制、十六进制之间转换(含小数部分)

二进制、八进制、十进制、十六进制之间转换(含小数部分)

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

下面举例:例:将十进制的168转换为二进制分析:(2)例1分析:第一步,将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入。

这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计。

那么,我们可以得出结果将0.45转换为二进制约等于0.0111上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是:1)十进制转换为二进制,需要分成整数和小数两个部分分别转换2)当转换整数时,用的除2取余法,而转换小数时候,用的是乘2取整法3)注意他们的读数方向因此,我们从上面的方法,我们可以得出十进制数168.125转换为二进制为10101000.001,或者十进制数转换为二进制数约等于10101000.0111。

(3)二进制转换为十进制不分整数和小数部分1)2)二、(1)②将二进制数1101.1转换为八进制得到结果:将1101.1转换为八进制为15.4(2)将八进制转换为二进制方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。

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

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

二进制八进制十进制十六进制之间的进制转换详情可参考百度百科:进制转换这个词条【主要搞懂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的三次方。

二进制、八进制、十进制、十六进制数据之间相互转换方法

二进制、八进制、十进制、十六进制数据之间相互转换方法

二进制、八进制、十进制、十六进制数据之
间相互转换方法
1. 二进制转十进制:将二进制数从右往左依次乘以2,每一位的乘积再相加,结果即为十进制数。

例如:1101(2)= 1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 13(10)
2. 十进制转二进制:将十进制数不断除以2,余数依次排列得到的数字序列即为二进制数。

例如:13(10)= 1101(2)
3. 八进制转十进制:将八进制数从右往左依次乘以8,每一位的乘积再相加,结果即为十进制数。

例如:345(8)= 5×8⁰ + 4×8¹+ 3×8² = 229(10)
4. 十进制转八进制:将十进制数不断除以8,余数依次排列得到的数字序列即为八进制数。

例如:229(10)= 345(8)
5. 十六进制转十进制:将十六进制数从右往左依次乘以16的幂次方,每一位的乘积再相加,结果即为十进制数。

例如:2D(16)= 13×16⁰ + 2×16¹ = 45(10)
6. 十进制转十六进制:将十进制数不断除以16,余数依次排列得到的数字序列即为十六进制数,若余数为10~15,则用A~F表示。

例如:45(10)= 2D(16)。

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

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

二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(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入。

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

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

一、十进制与二进制之间的转换(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入。

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

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

⼆进制、⼋进制、⼗进制、⼗六进制之间的转换⼆进制是Binary,简写为B⼋进制是Octal,简写为O⼗进制为Decimal,简写为D⼗六进制为Hexadecimal,简写为H⽅法为:⼗进制数除2取余法,即⼗进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为⽌。

读数要倒叙读。

⼩数:乘2取整法,即将⼩数部分乘以2,然后取整数部分,剩下的⼩数部分继续乘以2,然后取整数部分,剩下的⼩数部分⼜乘以2,⼀直取到⼩数部分为零。

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

换句话说就是0舍1⼊。

读数要从前⾯的整数读到后⾯的整数,即读数要顺序读。

0.125 转⼆进制第⼀步,将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。

积整数部分0.125 x 2 = 0.25 00.25 x 2 = 0.5 00.5 x 2 = 1.0 1150.125 转⼆进制10010110.0010.45 转⼆进制(保留到⼩数点第四位)第⼀步,将0.45乘以2,得0.9,则整数部分为0,⼩数部分为0.9;第⼆步, 将⼩数部分0.9乘以2,得1.8,则整数部分为1,⼩数部分为0.8;第三步, 将⼩数部分0.8乘以2,得1.6,则整数部分为1,⼩数部分为0.6;第四步, 将⼩数部分0.6乘以2,得1.2,则整数部分为1,⼩数部分为0.2; 算到这⼀步就可以了,因为只需要保留四位⼩数第五步, 将⼩数部分0.2乘以2,得0.4,则整数部分为0,⼩数部分为0.4;第六步, 将⼩数部分0.4乘以2,得0.8,则整数部分为0,⼩数部分为0.8;后⾯会⼀直循环重复第七步, 将⼩数部分0.8乘以2,得1.6,则整数部分为1,⼩数部分为0.6;。

二进制、八进制、十进制和十六进制数转换

二进制、八进制、十进制和十六进制数转换

100
100 4
111
111 7
2
010
0
000 010000110
6
110

10000110
先把二进制数自右向左分组, 每3位分一组,最后一组不够3位的 在前面补0,然后把每一组二进制数 转换为十进制数,最终进行组合即 可得八进制数(147)8
先把八进制数各个位上的数按“十进 制数转为二进制数”的方法转换为3位 二进制数,不足3位的在前面补上0, 然后按顺序组合起来,即得最终的二 进制数( 10000110 )2
01101100
先把八进制数各个位上的数按 “十进制数转为二进制数”的方法转 换为3位二进制数,不足3位的在前面 补上0,然后按顺序组合起来,即得最 终的二进制数( 10000110 )2
(10101111)2
1010 10 A (AF)16
(AF)16
1111 15 F
将十进制数除以2到商为0止,然后将 余数自下而上按顺序取出得:111011, 不足8位时在高位(左边)补上0,即 得最终的二进制数(00111011)2
二进制、八进制、十进制和十六进制数
• 二进制数转为八进制数 例:(01100111)2 (147)8
01
0 01 1
•八进制数转为二进制数
例: (206)8 (10000110)2
二进制、八进制、十进制和十六进制数
• 二进制数转为十六进制数 例:(0110பைடு நூலகம்111)2 (67)16
0110 6 6 0111 7 7
•十六进制数转为二进制数
例: (6C)16 ( 01101100 )2
6
6 0110
C
12 1100

进制转换方法

进制转换方法

进制转换方法
进制转换方法是将一个数从一种进制表示转换为另一种进制表示的过程。

常见的进制包括二进制、八进制、十进制和十六进制。

以下是一些进制转换方法:
1. 二进制转十进制:将二进制数的每一位与相应的权值相乘,然后将结果相加即可得到十进制数。

2. 十进制转二进制:用除2取余法,将十进制数除以2得到商和余数,将余数从下往上排列即可得到二进制数。

3. 八进制转十进制:将八进制数的每一位与相应的权值(8的幂)相乘,然后将结果相加即可得到十进制数。

4. 十进制转八进制:用除8取余法,将十进制数除以8得到商和余数,将余数从下往上排列即可得到八进制数。

5. 十六进制转十进制:将每一位的十六进制数值与相应的权值(16的幂)相乘,然后将结果相加即可得到十进制数。

6. 十进制转十六进制:用除16取余法,将十进制数除以16得到商和余数,将余数从下往上排列即可得到十六进制数。

这些是常见的进制转换方法,掌握这些方法可以更方便地在不同进制之间进行转换。

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

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

二进制、八进制、十进制与十六进制一、进制的概念在计算机语言中常用的进制有二进制、八进制、十进制和十六进制,十进制是最主要的表达形式。

对于进制,有两个基本的概念:基数和运算规则。

基数:基数是指一种进制中组成的基本数字,也就是不能再进行拆分的数字。

二进制是0和1;八进制是0-7;十进制是0-9;十六进制是0-9+A-F(大小写均可)。

也可以这样简单记忆,假设是n进制的话,基数就是【0,n-1】的数字,基数的个数和进制值相同,二进制有两个基数,十进制有十个基数,依次类推。

运算规则:运算规则就是进位或错位规则。

例如对于二进制来说,该规则是“满二进一,借一当二”;对于十进制来说,该规则是“满十进一,借一当十”。

其他进制也是这样。

二、二、八、十、十六进制基数对照表二进制八进制十进制十六进制2的乘方Binary Octal Decimal Hex00000000001111001022200113332=101004442=201015552=401106662=801117772=16100010882=32100111992=6410101210A2=12810111311B2=25611001412C2=51211011513D11101614E11111715F三、二进制转化成其他进制1.二进制(Binary)——>八进制(Octal)例子1:将二进制数(10010)2转化成八进制数。

(10010)2=(010 010)2=(2 2)8=(22)8例子2:将二进制数(0.1010)2转化为八进制数。

(0.10101)2=(0. 101 010)2=(0. 5 2)8=(0.52)8诀窍:因为每三位二进制数对应一位八进制数,所以,以小数点为界,整数位则将二进制数从右向左每3位一隔开,不足3位的在左边用0填补即可;小数位则将二进制数从左向右每3位一隔开,不足3位的在右边用0填补即可。

2.二进制(Binary)——>十进制(Decimal)例子1:将二进制数(10010)2转化成十进制数。

二进制、八进制、十进制、十六进制之间转换(含小数部分)

二进制、八进制、十进制、十六进制之间转换(含小数部分)

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

下面举例:例:将十进制的168转换为二进制得出结果将十进制的168转换为二进制,(101000)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才得到的,因此它是最高位,读数字从最后的余数向前读,即101000(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入。

二进制、八进制、十进制、十六进制的互相转换

二进制、八进制、十进制、十六进制的互相转换

⼆进制、⼋进制、⼗进制、⼗六进制的互相转换在编程⼯作种,我们时常需要对不同的进制的数进⾏转换,以⽅便我们的⼯作、阅读和理解。

在计算机领域,主要设计⼆进制、⼋进制、⼗进制和⼗六进制,下⾯我们就来讲讲这四种机制的整数相互转换⽅法。

⼀、查表法就是我们制作⼀张包含各种进制的值⼀⼀对应数值表,需要时查表就得,但是,我们知道,这不太现实,因为数是⽆穷的,我们不可能做⼀张⽆穷的表。

在次但是,这也不是说查表法就不⽤了,其实我们⼀直在使⽤,你可能会说,没有,没见过,不对,有的,就在你的脑海⾥,我相信绝⼤部分程序员都有,⽐如,问你,(15)10对应的⼗六进制是多少,你肯定张⼝就答(F)16,为什么你能很快答出,是因为我们在⽇常⼯作和学习中,⽆形在脑海⾥建⽴了这张表。

只是这张表很有限,更⼤的数你就不能⼀⼝答了,所以需要其他的转换⽅法,但是其他⽅法会⽤到查表法。

我们⾄少要建⽴起如下的⼀张表⼆、短除法短除法运算⽅法是先⽤⼀个除数除以能被它除尽的⼀个质数,以此类推,除到商是质数为⽌。

具体在我们的进制换算⾥,当⼀个M进制数转N进制数时,就是⽤这个数除N取余,逆序排列。

具体做法是:将N作为除数,⽤M进制整数除以N,可以得到⼀个商和余数;保留余数,⽤商继续除以N,⼜得到⼀个新的商和余数;仍然保留余数,⽤商继续除以N,还会得到⼀个新的商和余数;如此反复进⾏,每次都保留余数,⽤商接着除以N,直到商为0时为⽌下⾯举例:⼗进制转⼆进制、⼋进制、⼗六进制(10)10--->(x)2结果为(10)10--->(1010)2(100)10--->(x)8结果为(100)10--->(144)8 。

(100)10--->(x)16结果为(100)10--->(64)16⼋进制转⼆进制、⼗进制、⼗六进制(27)8--->(x)2结果为(27)8--->(10111)2(27)8--->(x)10⾸先查表得 (10)10<===>(12)8有如下算式结果为(27)8--->(23)10(756)8--->(x)16⾸先查表得 (16)10<===>(20)8(E)16<===>(16)8有如下算式结果,(756)8--->(1EE)16⼆进制转其他进制和⼗六进制转其他进制我就不⼀⼀举例了,通过上⾯的例⼦,我们可以看到⽤短除法我们是可以进⾏任意进制的相互转换的,同时我们也可以发现,将⾼进制向低进制(只限于这⼏种进制,我们姑且认为⾼低顺序为:⼆进制<⼋进制<⼗进制<⼗六进制)转换时,要先有⼀步进制基数的查表换算过程,在加上我们⼈对⼆、⼋、⼗六进制的四则运算不熟悉,所以这三种进制进⾏短除法换算⽐较困难。

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

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

在我们接触编程知识时,总会接触有关进制转换的知识,最常见的就是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。

二进制、八进制、十进制、十六进制互相转换方法

二进制、八进制、十进制、十六进制互相转换方法

二进制、八进制、十进制、十六进制互相转换方法【篇一】一.在计算机应用中,二进制使用后缀b表示;十进制使用后缀d表示,八进制用Q表示,十六制使用后缀H表示。

二.二进制,十六进制与十进制的计算转换1.二进制转换为十进制计算公式:二进制数据X位数字乘以2的X-1次方的积的总和例:01b=( )d数据1 0 1 0 1 0 1 1X-1位7 6 5 4 3 2 1 0相应的十进制值即为:27+25+23+21+20=128+32+8+2+1=1712.十六进制转换十进制计算公式:二进制数据X位数字乘以16的X-1次方的积的总和〔与二进制转换十制进同理的,将底数换为16〕注意:在十六进制中,10-16依次用A,B,C,D,E,F 表示例:1F3E H=〔〕d计算:1*16的3次方+16*16的2次方+3*16的1次方+15*16的0次方=1*4096+16*256+3*16+15*16=4096+4096+48+240=8480三.十进制与二进制,十六制的计算转换1.十进制转换为二进制十进制数据数字除以2的余数的逆序组合例:404d=( )b2|404 余02|202 余02|余02|50 余12|25 余02|12 余12|6 余02|3 余12|1计算结果便是:1010002.十进制转换十六进制。

与上面同理,注意的是10以上的数字用字母表示,除数是16十六进制与二进制的转换,建议通过十进制来进展中转。

带小数点的十进制转换为二进制时同理,小数店后的数位指数为负指数一、二进制数转换成十进制数由二进制数转换成十进制数的根本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规那么求和。

这种做法称为"按权相加"法。

二、十进制数转换为二进制数十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数局部和小数局部分别转换后,再加以合并。

1. 十进制整数转换为二进制整数十进制整数转换为二进制整数采用"除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入。

(完整版)二进制、八进制、十进制、十六进制之间转换详解.doc

(完整版)二进制、八进制、十进制、十六进制之间转换详解.doc

二进制、八进制、十进制、十六进制之间转换一、十进制与二进制之间的转换(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 22 …… 0 2 11 …… 0 2 5 …… 1 2 2 …… 1 2 1 …… 0 0 …… 1 · 十进制小数转二进制数:"乘以 2 取整,顺序输出" 例: (0.625)10= (0.101)2 0.625 X2 1.25 X2 0.5 X2 1.0 2.八进制与二进制的转换 例:将八进制的 37.416 转换成二进制数: 37 . 4 1 6 011 111 .100 001 110 即:(37.416)8 =(11111.10000111)2 例:将二进制的 10110.0011 转换成八进制:
二进制 01101011=十进制 107.
二进制转十进制,十进制转二进制的算法
---------------------------------------------------------------
二进制转十进制,十进制转二进制的算法
十进制转二进制: 用 2 辗转相除至结果为 1 将余数和最后的 1 从下向上倒序写 就是结果 例如 302 302/2 = 151 余 0 151/2 = 75 余 1 75/2 = 37 余 1 37/2 = 18 余 1 18/2 = 9 余 0 9/2 = 4 余 1 4/2 = 2 余 0 2/2 = 1 余 0 故二进制为 100101110
一、二进制数转换成十进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展 开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。
二、十进制数转换为二进制数 十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十 进制数的整数部分和小数部分分别转换后,再加以合并。 1. 十进制整数转换为二进制整数 十进制整数转换为二进制整数采用"除 2 取余,逆序排列"法。具体做法是: 用 2 去除十进制整数,可以得到一个商和余数;再用 2 去除商,又会得到一 个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进 制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起 来。

计算机各进制换算

计算机各进制换算

计算机各进制换算计算机中常用的进制包括十进制、二进制、八进制和十六进制。

换算不同进制之间的方法是很基础和重要的,下面我们来看一下如何进行这些进制之间的转换。

1.十进制转二进制:十进制数可以被2整除或除2取余数的方式转为二进制数。

具体步骤如下:-将十进制数除以2,得到的商再除以2,如此类推,直到商为0。

将得到的余数从下往上排列,就得到了对应的二进制数。

例如,十进制数10转为二进制数:10÷2=5,余数为0,5÷2=2,余数为1,2÷2=1,余数为0,1÷2=0,余数为1、所以10的二进制表示为1010。

2.二进制转十进制:二进制数可以通过加权求和的方式转为十进制数。

具体步骤如下:-从二进制数的最右边(低位)开始,依次对每一位乘以2的n次方(n为该位的索引)。

-将得到的结果相加,即可得到对应的十进制数。

例如,二进制数1010转为十进制数:1x2^3+0x2^2+1x2^1+0x2^0=8+0+2+0=10。

3.十进制转八进制:十进制数可以被8整除或除8取余数的方式转为八进制数。

具体步骤如下:-将十进制数除以8,得到的商再除以8,如此类推,直到商为0。

将得到的余数从下往上排列,就得到了对应的八进制数。

例如,十进制数25转为八进制数:25÷8=3,余数为1,3÷8=0,余数为3、所以25的八进制表示为314.八进制转十进制:八进制数可以通过加权求和的方式转为十进制数。

具体步骤与二进制转十进制相同,只是将每一位乘以8的n次方(n为该位的索引)。

例如,八进制数31转为十进制数:3x8^1+1x8^0=24+1=255.十进制转十六进制:十进制数可以被16整除或除16取余数的方式转为十六进制数。

-将十进制数除以16,得到的商再除以16,如此类推,直到商为0。

将得到的余数从下往上排列,用A表示10、B表示11、C表示12、D表示13、E表示14、F表示15,就得到了对应的十六进制数。

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

将十进制数除以2到商为0止,然后将 余数自下而上按顺序取出得:111011, 不足8位时在高位(左边)补上0,即 得最终的二进制数(00111011)2
二进制、八进制、十进制和十六进制数
• 二进制数转为八进制数 例:(01100111)2 (147)8
01
0 01 1
•八进制数转为二进制数
例: (206)8 (10000110)2
100
100 4
111
111 7
2
010
0
000 0100001106 Nhomakorabea110

10000110
先把二进制数自右向左分组, 每3位分一组,最后一组不够3位的 在前面补0,然后把每一组二进制数 转换为十进制数,最终进行组合即 可得八进制数(147)8
先把八进制数各个位上的数按“十进 制数转为二进制数”的方法转换为3位 二进制数,不足3位的在前面补上0, 然后按顺序组合起来,即得最终的二 进制数( 10000110 )2
01101100
先把八进制数各个位上的数按 “十进制数转为二进制数”的方法转 换为3位二进制数,不足3位的在前面 补上0,然后按顺序组合起来,即得最 终的二进制数( 10000110 )2
(10101111)2
1010 10 A (AF)16
(AF)16
1111 15 F
二进制、八进制、十进制和十六进制数
• 二进制数转为十进制数
例:(01100111)2
0 1 1 0 0
•十进制数转为二进制数
例: (59)10 (00111011 )2
(103)10
1 1 1
短除法
2
2 2 2 2 2 2
59
29 14 7 3 1 0 余 1 1 0 1 1 1
27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 0 + 64 + 32 + 0 + 0 + 4 + 2 + 1 =103 先自右向左写出二进制数各个位上 代表的数2n(n自右向左从0开始), 然后将位上为1的各个数相加即可
二进制、八进制、十进制和十六进制数
• 二进制数转为十六进制数 例:(01100111)2 (67)16
0110 6 6 0111 7 7
•十六进制数转为二进制数
例: (6C)16 ( 01101100 )2
6
6 0110
C
12 1100
(67)16 先把二进制数自右向左分组, 每4位分一组,然后把每一组二进制 数转换为十进制数后再转换十六进 制数,然后组合起来即可得十六进 制数(67)16 又如:
相关文档
最新文档