带符号8位二进制数原码所能表示的数值范围为?
问题描述:
带符号8位二进制数原码所能表示的数值范围为?
大多数表示的是-128到+127,但是我不明白-128是怎么来的啊?
8位二进制数原码的最高位是符号位为1,那么-128表示为
110000000这不是成9位了吗?
是不是应该是-127即11111111到01111111?
答
原码通常一般用8位二进制数表示带符号的真值(我们生活中用的数,即非机器数),好像是因为早期线路都是每次输送1字节;但在声明的情况下原、反、补、移码都有其他位数的情况
数值定义:真值0=10000000;
范围:x表示真值,〔x〕表示带符号的真值,〔x〕原表示其原码(反、补、移码类同),n表示真值的整数位数
[x]原=x(2^n>x>=0) Or 2^n-x 0>=x>-2^n
按数值大小-128~127[通式为-2^(n-1)~2^(n-1)-1]对应01111111~10000000~11111111