下列属于合法八进制数的是() A、0 B、028 C、-077 D、01.0 请说明原因 谢谢。

如题所述

分析:
八进制数以0开头,并且都由0-7的数字组成,只能是整数,不能是小数
A是0,无法说明它是八进制,应该写成00或者000之类的才表示八进制。
B中出现了数字8,不正确
D中出现了小数,不正确,八进制是一种整数表达法,没有小数。
C选项,其实也不是很合理,但勉强还说得过去。如果它要表示的十进制
-(7*8 + 7*1) = -63
实际上也就是表示负数的八进制数,应该 先求-63的二进制形式,也就是63的二进制形式取反加1得到的补码
63的二进制形式为: 00011111
取反之后为: 11100000
再加1: 11100001
每3个构成一个8进制数,就是(011)(100)(001)即用8进制应该表示为0641
不应该写成-077
-077只能理解为077这个8进制负号号运算符组成的表达式

如果非要选择一个,就选择C吧,但最合理的,是都不正确。
不了解之处请你参考C语言之父的作品<<The C Programming Language>>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-06
8进制不包含数字8 == B错误
8进制没有负数 == C错误
8进制没有小数 == D错误
8进制的0应该是 00 ==A 错误
木有正确的啊
第2个回答  2011-07-06
八进制以0开头,A没有八进制内容
B八进制最大7
C合法
D八进制没有小数
第3个回答  2011-07-06
没有合理答案,非选一个的话只能选C了。
A为0是十进制数。完整的应为0D,十进制后缀D或省略;
B、028出现8显然不是八进制;
C、-077也不是八进制;
D01.0为小数显然不对;
相似回答