10进制转8进制算法(99%的人容易犯这个错)

今天奥赛教育给同学们分享关于高数的进制间转换方法。方便明了,有利同学们学习记忆。

常见进制后缀字母表示 :

B :二进制数。

Q :八进制数。

D :十进制数。

H :十六进制数。

后缀进制标识,只作为进制表示而用,不做计算。对于十进制数通常不加后缀,也即十进制数后的字母 D 可省略。

十六进制—>十进制

16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。

十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……

所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。

假设有一个十六进数 2AF5, 那么如何换算成10进制?

用竖式计算:

海南专升本-进制的转换方法

可以看出,所有进制换算成10进制,关键在于各自的权值不同。

十进制转换16进制:

例如:178D(十进制)转换16进制,直接除法列公式178/16,

178➗16=11余2(因11比16小,所以不再继续除以16,16进制11表示为B)=B2H(16进制)

检验:B2H=2*16^0+11*16^1=2+176=178D

8进制,转换10进制

八进制是权是8,与16进制换10进制一样,1507Q(8进制),自右边往左数(字母Q只是标识,不算),从0开始,7对应第0位、0对应第一位、5对于第二位、1对应第三位,由此,我们可以列出式子:

1507(八进制数)=1*8^3 + 5*8^2 + 0*8^1 + 7*8^0 = 839

10进制转换8进制

例如:1530D(10进制),转换8进制的话,还是老样子,直接除以8,结果一步一步来,除以8第一次,1530/8=191余2,注意:191比8大,还需要继续除以8,而2就是第0位数了;第二次除以8,191/8=23余7,这时候7就是第一位数了,23还能继续除以8,第三次除以8,23/8=2余7,这时候2小于8,计算结束,7是第二位数,2是第三位数。

总结:1530D(10进制)=2772Q(8进制)

检验:2772Q=2*8^0+7*8^1+7*8^2+2*8^3=2+56+448+1024=1530D

二进制转换10进制

转换方式也和8/16进制转换10进制一样的方式,只是权的不同。按照位置计算出结果。

110011(二进制数)=1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+1*2^0=32+16+2+1=51

十进制转换二进制

例如:42D,换位2进制的,步骤也是除2,得出余数,,方法也如8进制16进制一样,如下图:

海南专升本-进制的转换方法

42D=101010B

检验:0*2^0+1*2^1+0*2^2+1*2^3+0*2^4+1*2^5=0+2+0+8+0+32=42D

二进制换算八进制

方法:小数点左边开始和右边开始,3个一组先分组。不足3个的,前面和后面补零。

海南专升本-进制的转换方法

011-010-111.010-011-100(每三个二进制数合成1个8进制数)=3-2-7.2-3-4=327.234Q

例2:二进制数10110111011B换八进制数:

010-110-111-011

结果为:2673Q

八进制换二进制

海南专升本-进制的转换方法

以202为例将202分开2—-0—-2分别对2进行求余运算得出10、0、10的结果,然后对这三个数从左边开始补全(0)10,(0)(0)0,(0)10

最后将从【最左边】开始的第一个非零数前面的零全部去掉,得到二进制(10000010)。

检验:10000010B=010-000-010=2-0-2=202(8进制)

二进制转换十六进制

二进制数转换为十六进制数的方法也类似,从右到左,四位一组,不够补0

如上题:

0101 1011 1011=0101-1011-1011=5-B-B结果为:5BBH

16进制转换2进制

同8进制转换2进制方法一样,就是位数是4位,不够0补齐。

例如:21H

21=0010-0001=100001B

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 k0kaujt7@163.com 举报,一经查实,本站将立刻删除。
(0)

相关推荐

返回顶部