无符号数和有符号数在汇编程序里如何区分?

2025-03-20 23:53:57
推荐回答(1个)
回答1:

最高位为1时负数,最高位为0是整数。

10000000是-128

10000001是-127

11111111是-1

即处理器的补码方式:

如果操作数是8位先确定二进制00000000~01111111为十进制0~127,然后按位取反加1即是它的负数。补码中每个负数取反加1而且也是它的正数。

例子:

二进制00010000是十进制的16,那么-16就是11101111(取反)+1=11110000。

10000000是负多少呢?找取反加1:01111111+1=10000000=128,所以是-128。