怎么样把十六进制数BD转换成八进制数?

给出步骤.

先把八进制转成二进制或是十进制.再转成十六进制.

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
2、十进制数转二进制数、八进制数、十六进制数
方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。
例:见四级指导16页。
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 7
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进制,如3A16 转为二进制为:
3为0011,A 为1010,合并起来为00111010。可以将最左边的0去掉得1110102
右要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,将各单位对照出16进制的值即可。
二进制与八进制间的关系
二进制 000 001 010 011 100 101 110 111
八进制 0 1 2 3 4 5 6 7
二进制与八进制的关系类似于二进制与十六进制的关系,以八进制的各数为0到7,以三位二进制数来表示。如要将51028 转为二进制,5为101,1为001,0为000,2为010,将这些数的二进制合并后为1010010000102,即是二进制的值。
若要将二进制转为八进制,将二进制的位数由右向左每三位一个单位分隔,将事单位对照出八进制的值即可。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-16
基本知识

十进制

基数为10,逢10进1。在十进制中,一共使用10个不同的数字符号,这些符号处于不同位置时,其权值各不相同。

二进制

基数为2,逢2进1。在二进制中,使用0和1两种符号。

八进制

基数为8,逢8进1。八进制使用8种不同的符号,它们与二进制的转换关系为:

0:000 1:001 2:010 3:011 4:100 5:101 6:110 7:111

十六进制

基数为16,逢16进1。十六进制使用16种不同的符号,它们与二进制的转换关系为:

0:0000 1:0001 2:0010 3:0011 4:0100 5:0101 6:0110 7:0111

8:1000 9:1001 A:1010 B:1011 C:1100 D:1101 E:1110 F:1111

二进制数的运算

算术运算:加法

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10(向高位进1)

算术运算:减法

0 ? 0 = 0 0 ? 1 = 1(向高位借1) 1 ? 0 = 1 1 - 1 = 0

逻辑运算:或(∨)

0 ∨ 0 = 0 0 ∨ 1 = 1 1 ∨ 0 = 1 1 ∨ 1 = 1

逻辑运算:与(∧)

0 ∧ 0 = 0 0 ∧ 1 = 0 1 ∧ 0 = 0 1 ∧ 1 = 1

逻辑运算:取反

0取反为1 1取反为0

注意:算术运算会发生进位、借位,逻辑运算则按位独立进行,不发生位与位之间的关系,其中,0表示逻辑假,1表示逻辑真。

2.转换为十进制

二进制化为十进制

例:将二进制数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)10

3.转换为二进制

八进制化为二进制

规则:按照顺序,每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…… 0

2 | 43…… 1

2 | 21…… 1

2 | 10…… 0

2 | 5 …… 1

2 | 2 …… 0

2 | 1 …… 1

结果:(86)10 = (1010110)2

十进制小数化为二进制小数

规则:乘二取整,直到小数部分为零或给定的精度为止,顺排。

例:将十进制数0.875转化为二进制数

0.875

× 2

1.75

× 2

1.5

×2

1.0

结果:(0.875)10 = (0.111)2

4.转换为八进制

二进制化为八进制

整数部份从最低有效位开始,以3位一组,最高有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的整数。

小数部份从最高有效位开始,以3位一组,最低有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的小数。

例:(11001111.01111)2 = (11 001 111.011 110)2 = (317.36)8

十六进制化为八进制

先用1化4方法,将十六进制化为二进制;再用3并1方法,将二进制化为8制。

例: (1CA)16 = (000111001010)2 = (712)8

说明:小数点前的高位零和小数点后的低位零可以去除。

十进制化八进制

方法1:采用除8取余法。

例:将十进制数115转化为八进制数

8| 115…… 3

8| 14 …… 6

8| 1 …… 1

结果:(115)10 = (163)8

方法2:先采用十进制化二进制的方法,再将二进制数化为八进制数

例:(115)10 = (1110011)2 = (163)8

5.转换为十六进制

二进制化为十六进制

整数部份从最低有效位开始,以4位为一组,最高有效位不足4位时以0补齐,每一组均可转换成一个十六进制的值,转换完毕就是十六进制的整数。

小数部份从最高有效位开始,以4位为一组,最低有效位不足4位时以0补齐,每一组均可转换成一个十六进制的值,转换完毕就是十六进制的小数。

例:(11001111.01111)2 = (1100 1111 .0111 1000)2 = (CF.78)16

八进制化为十六进制

先将八进制化为二进制,再将二进制化为十六进制。

例:(712)8 = (111001010)2 = (1CA)16

十进制化为十六进制

方法1:采用除16取余法。

例:将十进制数115转化为八进制数

16| 115…… 3

16| 7 …… 7

结果:(115)10 = (73)16

方法2:先将十进制化为二进制,再将二进制化为十六进制。

例:(115)10 = (1110011)2 = (73)16
第2个回答  2013-07-16
直接从十六进制变成八进制比较麻烦,可以选择把十六进制数转成二进制,再转成八进制
希望我的回答对你有用
相似回答