80H表示-128,那么正的128怎么表示?

来源:百度知道 编辑:UC知道 时间:2024/06/15 22:37:05
我一直认为1000 0000(2进制)为+128,16进制是80H.可书上说80H为-128,那么正的该咋表示呢??谁可以讲点其中的道理啊.

在表示数值数据时,要注意是字节还是字,是带符号数还是无符号数。带符号数在计算机中用补码表示。
字节表示时,十六进制范围为00H~FFH,对应的无符号数的范围为0~255,对应的带符号数的范围为-128~+127。
字表示时,十六进制范围为0000H~FFFFH,对应的无符号数的范围为0~65535,对应的带符号数的范围为-32768~+32767。

你所说的1000 0000(2进制)为128是指用字表示无符号数时的情况;80H为-128是指用字节表示带符号数的情况。
+128用字节无法表示,它超出了范围,溢出了。

8位二进制计算机中表示为00H~FFH,对应的无符号数的范围为0~255,对应的带符号数的范围为-128~+127。

16位二进制计算机中表示为0000H~FFFFH,对应的无符号数的范围为0~65535,对应的带符号数的范围为-32768~+32767

1000 0000(2进制)即80H,为128,是用于表示无符号数时的情况;
80H为-128是用于表示带符号数时的情况

总之,如果要用8位2进制来表示+128这个带符号数,是不允许,但是你可以用16位2进制0080H来表示-128.

你说的是8位吧
用补码表示的范围是+127~-128之间。
那个80H是补码表示-128