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

1、二进制数、八进制数、十六进制数转十进制数

有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。个位,N=1;十位,N=2...举例:

110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D

110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D

110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D

其中B代表二进制、Q代表八进制、H代表十六进制、D代表十进制。


2、十进制数转二进制数、八进制数、十六进制数

方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。


3、二进制数转换成其它数据类型
3-1二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足,
就是一个相应八进制数的表示。
010110.001100B=26.14Q
八进制转二进制反之则可。
3-2二进制转十进制:见1
3-3二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示,
不足四位的用0补足,就是一个相应十六进制数的表示。

00100110.00010100B=26.14H


十进制转各进制 
  要将十进制转为各进制的方式,只需除以各进制的权值,取得其余数,第一次的余数当个位数,第二次余数当十位数,其余依此类推,直到被除数小于权值,最后的被除数当最高位数。 
一、十进制转二进制 
如:55转为二进制 
2|55 
27――1 个位 
13――1 第二位 
6――1 第三位 
3――0 第四位 
1――1 第五位 

最后被除数1为第七位,即得110111 


  二、十进制转八进制 
如:5621转为八进制 
8|5621 
702 ―― 5  第一位(个位) 
    87 ―― 6  第二位 
    10 ―― 7  第三位 
     1 ―― 2  第四位 

最后得八进制数:127658 


三、十进制数十六进制 
如:76521转为十六进制 
16|76521 
  4726 ――5 第一位(个位) 
   295 ――6 第二位 
    18 ――6 第三位 
     1 ―― 2 第四位 

最后得1276516 


二进制与十六进制的关系 
2进制     0000     0001     0010     0011     0100     0101     0110     0111 
16进制     0     1      2         3       4     5        6    
2进制     1000     1001     1010     1011     1100     1101     1110     1111 
16进制     8     9     a(10)     b(11)     c(12)     d(13)     e(14)     f(15) 
可以用四位数的二进制数来代表一个16进制,如3A 转为二进制为: 
  3为0011,A 为1010,合并起来为00111010。可以将最左边的0去掉得111010

  右要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,将各单位对照出16进制的值即可。 


二进制与八进制间的关系
二进制     000     001     010     011     100     101     110     111 
八进制     0          1       2       3        4          5        6        7 
  二进制与八进制的关系类似于二进制与十六进制的关系,以八进制的各数为0到7,以三位二进制数来表示。如要将5102 转为二进制,5为101,1为001,0为000,2为010,将这些数的二进制合并后为101001000010,即是二进制的值。 
  若要将二进制转为八进制,将二进制的位数由右向左每三位一个单位分隔,将事单位对照出八进制的值即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 二进制十进制:将二进制数从右往左每一位对应的权值分别为1、2、4、8、16、32……,将每一位的权值与该位的数值相乘,然后将所有乘积相加即得到对应的十进制数。 例如,二进制数1011转换十进制数的计算过程为:1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11。 2. 十进制二进制:使用“除2取余”的方法,将十进制数不断除以2,将每次得到的余数倒序排列即为对应的二进制数。 例如,将十进制数27转换二进制数的计算过程为:27 ÷ 2 = 13 余 1,13 ÷ 2 = 6 余 1,6 ÷ 2 = 3 余 0,3 ÷ 2 = 1 余 1,1 ÷ 2 = 0 余 1。将余数倒序排列,得到的二进制数为11011。 3. 二进制八进制:将二进制数从右往左每三位分组,对每组二进制数分别赋予权值1、2、4,将每组二进制数的权值与数值相乘,然后将所有的乘积相加即得到对应的八进制数。 例如,二进制数1101101转换八进制数的计算过程为:001 101 101,分别对应的权值为1、2、4,因此,得到的八进制数为155。 4. 八进制二进制:将八进制数的每一位转换为三位二进制数,然后将这些二进制数连接起来即可得到对应的二进制数。 例如,将八进制数155转换二进制数的计算过程为:1对应的二进制数为001,5对应的二进制数为101,5对应的二进制数也为101,因此,得到的二进制数为1101101。 5. 二进制十六进制:将二进制数从右往左每四位分组,对每组二进制数分别赋予权值1、2、4、8,将每组二进制数的权值与数值相乘,然后将所有的乘积相加即得到对应的十六进制数。 例如,二进制数1101101转换十六进制数的计算过程为:0110 1101,分别对应的权值为1、2、4、8和1、16,因此,得到的十六进制数为6D。 6. 十六进制二进制:将十六进制数的每一位转换为四位二进制数,然后将这些二进制数连接起来即可得到对应的二进制数。 例如,将十六进制数6D转换二进制数的计算过程为:6对应的二进制数为0110,D对应的二进制数为1101,因此,得到的二进制数为01101101。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值