我知道八进制不可以。但为什么呢?
请问还有其他进制的数是不能表示负数的吗?
第1个回答 2012-03-17
因为计算机的CPU只能识别2进制的数,所以任何进制的数最终都要转变成2进制供计算机处理。
在二进制中,计算机看一个数是否是复数主要是看这个数第一位是否是1,1为负数,0为正数。
所以说,不管什么进制的数,都可以用来表示负数,比如八进制中的70,转换成2进制就是11110000,第一位为1,所以可以理解成一个负数。
能不能表示负数只是看这个数用在什么场合,和什么进制无关的。只是因为大多数情况下其他进制的数只是用来表示数量,一般不用在区分正负号的场合,所以让你认为八进制不能表示负数。追问
在二进制中,计算机看一个数是否是复数主要是看这个数第一位是否是1,1为负数,0为正数。
所以说,不管什么进制的数,都可以用来表示负数,比如八进制中的70,转换成2进制就是11110000,第一位为1,所以可以理解成一个负数。
能不能表示负数只是看这个数用在什么场合,和什么进制无关的。只是因为大多数情况下其他进制的数只是用来表示数量,一般不用在区分正负号的场合,所以让你认为八进制不能表示负数。追问
-077是不合法的八进制数。
为什么呢?我还是不明白
谁说不合法?编译器吗?什么编译器?
追问就是2.12这题,为什么不选c
第2个回答 2012-03-17
和进制没关系 c里面usign的数据类型不能表示复数