二进制数、八进制数、十六进制数与十进制数间怎样转换?

如题所述

1).十进制到其他进制:
用这个十进制数除以该进制数,记录所有余数和最后得数,然后反过来输出 (最后得数在最高位);
例如:23转8进制 23/8=2.....7; 23的8进制就是27
17转2进制 17/2=8.....1;
8/2=4...0;
4/2=2...0;
2/2=1...0; 17的2进制就是10001
2).2进制八进制和十六进制到10进制:
从2进制八进制和十六进制数的最低位(最右端第n=1位),依次将乘以进制数的n-1次方相加
例如:二进制数11010转十进制 (我用m^n表示m的n次方)
0*2^0 + 1*2^1 + 0*2^2 + 1*2^3 + 1*2^4=26;
八进制数20转十进制 0*8^0+2*8^1=16;
3).2进制到八进制和十六进制就简单了:
八进制就是将2进制分别以3个为一个单位分开,每个单位再以上面(2进制到10进制)的方法转: 如:110101001转八进制就是110,101,001 ->6,5,1
十六进制就是将2进制分别以4个为一个单位分开
如:11011101011101转十六进制就是0011,1010,0101,1101->3,A,5,D
4).八进制和十六进制到2进制就是将上面的过程反过来~ 如:572->101,111,010

好了 ,应该是不难吧~!我就写这么多了,写的不多,但我感觉能表达清楚了吧~!我看网上说的都太专业了,这些都是我的经验总结,网上肯定没有~!呵呵。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-14
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).十进制到其他进制:用这个十进制数除以该进制数,记录所有余数和最后得数,然后反过来输出 (最后得数在最高位);例如:23转8进制 23\/8=2...7; 23的8进制就是27 17转2进制 17\/2=8...1;8\/2=4...0;4\/2=2...0;2\/2=1...0; 17的2进制就是10001 2).2进制八进制和十六进...

2进制8进制10进制16进制各个之间如何进行换算?
1、十进制转二进制,方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。2、二进制转十进制,方法为:把二进制数按权展开、相加即得十进制数。二、二进制与八进制之间的转换:1、二进制转八进制,3位二进制数按权展开相加得...

计算机二进制十进制八进制十六进制的转换
1、十六进制转换二进制:“1位变4位”。2、八进制转换二进制:“1位变3位”。3、二进制转换十六进制:左边数四位为一组,不足一组前面用0补齐。4、二进制转换八进制:左边数三位为一组,不足一组前面用0补齐。5、十进制转换八进制:这个数除以八取余。从下往上数。6、十进制转换二进制:这...

2进制8进制10进制16进制各个之间如何进行换算?
1. 十进制转二进制:使用除以2取余法,将十进制数不断除以2,记录每次的余数,这些余数就构成了二进制数,从最后一个非零商开始向上读取余数,得到的二进制数为原十进制数的二进制表示。2. 二进制转十进制:将二进制数按照每个位上的权重(2的幂次)展开并相加,得到的结果即为对应的十进制数。...

十进制,二进制,八进制,十六进制之间互相转换的方法是什么??
不足3位前面补0,组合而成就是八进制。转十六进制:左起每4位二进制数字转化成一个十进制数字,不足4位前面补0,组合而成就是十六进制。4)(八、十六)转二进制:八进制情况:每一位转化成3位二进制数字,不足前面补充0.十六进制情况:每一位转化成4位二进制数字,不足前面补充0....

进制转换:二进制、八进制、十进制、十六进制相互转换
将二进制、八进制、十六进制转换为十进制。二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。 假设当前数字是 N 进制,那么: 对于整数部分,从右往左看,第 i 位的位权等于Ni-1 对于小数部分,恰好相反,要从左往右看,第 j 位的位权为N-j。 更加通俗的理解是,...

二进制小数与八、十、十六进制怎么相互转换?
1.二进制变八进制:(1)三位合一位 以你说的数为例:10101101.11 按三位一组把数拆开,就变成这样:010 101 101.110 然后按基本的二进制变八进制的方法算出来,结果入下:2 5 5.6 2.二进制变十进制 (1)按权展开法 我不知道你掌握到什么程度,还是用上面的例子吧 10101101.11 计算过程是...

计算机二进制,十进制,八进制,十六进制怎么转换
1、十进制到二进制:除2取余数 最后把余数倒过来 100101 比如:十进制数37 所以转换成的二进制数字为:100101 2、八进制到二进制:一个八进制的位拆分成一个三位的二进制数 比如:[八进制]616 6拆分成 110 1拆分成 001 6拆分成 110 所以转换成的二进制数字为:110001110 3、十六进制到二进制:...

二进制,八进制,十进制,十六进制之间是怎样互相转化的?
这几个进制转换时,二进制可以很方便转换为其他进制,举例十进制10,二进制为1010 二进制到八进制:把二进制每3位划开,1 010这样,前面1变成1,后面010变成2,就成了八进制12.二进制到十进制:把二进制直接按位幂乘起来,再相加。比如,1010 = 1*2^3+1*2^1 = 10.二进制到十六进制:和八...

C语言 2进制,8进制,10,进制,16进制的相互转换
NULL, 16);printf("二进制数 %s 的十进制表示为: %d ", binary, binToDec);printf("八进制数 %s 的十进制表示为: %d ", octal, octToDec);printf("十六进制数 %s 的十进制表示为: %d ", hexadecimal, hexToDec);return 0;} 这些代码示例展示了C语言中进行基本进制转换的方法。

相似回答