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

分析:

八进制数以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语言之父的作品