关于十进制,十六进制,八进制。

我现在在学C语言。但是现在我就是闹不清十六进制,八进制。还有十进制他们都是什么意思啊?还有就是如何看出这个数是几进制的数啊?判断标准是什么,望高人指点一下。

数制是利用符号来计算的科学方法。分非进位计数制和进位计数制。进位数制中,逢二进一是二进制,逢八进一是八进制,逢十进一是十进制,逢十六进一是十六进制。
两个最基本的概念:基数和权。
二进制(B)的基数:1和0 进位基数:2
八进制(Q)的基数:0---7 进位基数:8
十进制(D)的基数:0---9 进位基数:10
十六进制(H)的基数:0---9 A--F(相当于10--15) 进位基数:16
看基数一般能看出是什么进制
权:每个数码所代表的数值等于该数码乘以一个与数码所处数位有关的常数。计算方法:以该进位制的基数为底,以数码所在数位的序号为指数,所得的整数次幂即为该进位在该数位上的权,整数部份按右至左的顺序从0开始计,小数部份按左至右的顺序从事-1开始计。

1.十进制数与非十进制数之间的转换
(1)十进制数转换成非十进制数
把一个十进制数转换成非十进制数分成两步.整数部分转换时采用“除整取余法”;小数部分转换时采用“乘基取整法”(转换成二进制时,小数部分积有可能不会为正整数时,就取近似值)。

(2)非十进制数转换成十进制数
非十进制数(基数记作R,第j个数位的位权记作Rj)转换成十进制数的方法:按权展开求其和。

2.非十进制数之间的转换
(1)二进制数与八进制数之间的转换
①二进制数转换成八进制数的方法.以小数点分界,整数部分自右向左、小数部分自左向右,每三位一组,不足三位时,整数部分在高位左边补0,小数部分在低位右边补0,然后写出对应的八进制数码。
②八进制数转换成二进制数的方法:用八进制数码对应的三位二进制数代替八进制数码本身即可。

(2)二进制数与十六进制数之间的转换
①二进制数转换成十六进制数的方法:以小数点分界,整数部分自右向左、小数部分自左向右,每四位一组,不足四位时,整数部分在高位左边补0,小数部分在低位右边补0,然后写出对应的十六进制数码。
②十六进制数转换成二进制数的方法:用十六进制数码对应的四位二进制数代替十六进制数码本身即可。

四种进位制计数之间的关系
十进制(D) 二进制(B) 八进制(Q) 十六进制(H)
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-23
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
27DD1 个位
13DD1 第二位
6DD1 第三位
3DD0 第四位
1DD1 第五位
最后被除数1为第七位,即得110111
二、十进制转八进制
如:5621转为八进制
8|5621
702 DD 5 第一位(个位)
87 DD 6 第二位
10 DD 7 第三位
1 DD 2 第四位
最后得八进制数:127658
三、十进制数十六进制
如:76521转为十六进制
16|76521
4726 DD5 第一位(个位)
295 DD6 第二位
18 DD6 第三位
1 DD 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,即是二进制的值。
若要将二进制转为八进制,将二进制的位数由右向左每三位一个单位分隔,将事单位对照出八进制的值即可。本回答被提问者采纳
第2个回答  2010-12-24
十进制就是我们学数学常用的数字,就是逢十进一。八进制就是逢八进一。十六进制是逢十六进一。在十六进制中,A代表10,B代表11,C代表12,D代表13,E代表14,F代表15;
相似回答