c语言中 哪几种进制的数是不能表示负数的?

我知道八进制不可以。但为什么呢?
请问还有其他进制的数是不能表示负数的吗?

第1个回答  2012-03-17
因为计算机的CPU只能识别2进制的数,所以任何进制的数最终都要转变成2进制供计算机处理。
在二进制中,计算机看一个数是否是复数主要是看这个数第一位是否是1,1为负数,0为正数。
所以说,不管什么进制的数,都可以用来表示负数,比如八进制中的70,转换成2进制就是11110000,第一位为1,所以可以理解成一个负数。
能不能表示负数只是看这个数用在什么场合,和什么进制无关的。只是因为大多数情况下其他进制的数只是用来表示数量,一般不用在区分正负号的场合,所以让你认为八进制不能表示负数。追问

-077是不合法的八进制数。
为什么呢?我还是不明白

追答

谁说不合法?编译器吗?什么编译器?

追问

就是2.12这题,为什么不选c

第2个回答  2012-03-17
和进制没关系 c里面usign的数据类型不能表示复数

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网