用八位二进制数表示一个带符号数,它能表示的整数范围是?

问题描述:

用八位二进制数表示一个带符号数,它能表示的整数范围是?

一般来说,这个的答案是-128到127
第一位是符号位,0表示正数或者0,1表示负数
对于正数,表示方式就是二进制本身加上最前面的符号位0,除去符号位以外的其他7位二进制能表示0到127
对于负数,取它的绝对值的8位二进制表示,然后所有位取反,最后+1,就是它的表示方式.这可以表示-128到-1
以上是补码表示方式,你也可以用补码这个关键字找到很多资料.
问题是:题目完全没有提补码这个概念,所以对于不同的编码方式,这个问题的答案是不一样的.理论上,8位二进制数可以表示256个不同的值,只要你有一种方案,将这256个值对应到任意256个数值上,就算一种编码,这种编码的种类是无限多的.