C语言中的问题

C中的八进制整数,十进制, 十六进制是怎么算的 为什么0X6B要等于107
它在语言中是什么运算的
大家 说的我不是很理解 在说仔细点
书上没讲

8进制即逢8进1,16进制即逢16进1
16进制是这样的,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
A代表10,其余的类推
所以16进制数6B转换为10进制就是6*16+11=107
假如8进制数73转换为10进制就是7*8+3=59
就好像十进制数123表示为1*100+2*10+3*1一样
8进制,16进制的联系是2进制,即转换都要先转换成2进制
8进制由3位2进制组成,16进制由4位2进制组成
对8进制来讲:000代表0 001代表1 010代表2 011代表3
100代表4 101代表5 110代表6 111代表7
对16进制来讲:0000代表0 0001代表1 0010代表2 0011代表3
0100代表4 0101代表5 0110代表6 0111代表7
1000代表8 1001代表9 1010代表A 1011代表B
1100代表C 1101代表D 1110代表E 1111代表F
所以8进制数73可以看成111 011
而16进制数6B可以看成0110 1011
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-22
其实这都是为了计数,本没有分别。但我们潜意识里并没有接受8进制,16进制。
如果希腊人没有发明数字8 和9 。那我们从0数到7后下一个数就应该是“10”,“1”代表7,“0”代表“0”,加起来就是8。
计数的方式多了,为了区别我们规定八进制后头跟上一个字母O,十进制跟一个字母D,但习惯上不跟。所以呢10o=8D.
16进制也一样,他跟一个H,例如10H=16D。
熟悉了,进制也可以自己发明,比如我发明5进制,就是逢5进1吗,我规定后面跟一个Y,那12Y=7D了。
第2个回答  2009-08-22
十进制:逢十进一
二进制:逢二进一
八进制:逢八进一
十六进制:逢十六进一
在C中: 十进制:%d
八进制:%o
十六进制:%ox

十六进制数0X6B=6*16+11=107;(A,B,C,D,E,F在十六进制中分别代表10,11,12,13,14,15,16)
当然也可以转化成二进制再算,就是更麻烦了
第3个回答  2009-08-22
在C中若要输出:八进制:%o
十进制:%d
十六进制:%ox
ox6B是十六进制,它的二进制是:01101011
转化为十进制就是:1x2^6+1x2^5+1x2^3+1x2^1+1x2^0=107
第4个回答  2019-02-19
答案是:A,B,
C,D
因为十六进制整常数的前缀为0X或0x,前面是数字的0,不是字母o或O。
由于网页显示的字母O和数字0不易区分,
所以,
我查看了amei_009所提供的选项的二进制代码:
所有选项的头一个字符都是字母O的大写(0x4F)或小写(0x6F),
都不是数字0(0x30).
所以所有选项都不是合法的16进制数.
相似回答