x86汇编——32位补码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/for_cxc/article/details/85232644

最高位符号位,后面还有31位
正数时原码和补码相同,故此时的

0 表示为 00000000 00000000 00000000 00000000;

1 表示为 00000000 00000000 00000000 00000001;

依次类推...

01111111 11111111 11111111 11111111 即表示 2147483647

负数时最高位为1,负数的补码为对应的原码部分取反加1,故有:

-1 即 10000000 00000000 00000000 00000001
取反后为 11111111 11111111 11111111 11111110 再加1得补码为 11111111 11111111 11111111 11111111;

-2 即 10000000 00000000 00000000 00000010
取反后为 11111111 11111111 11111111 11111101 再加1得补码为 11111111 11111111 11111111 11111110;


依次类推...

-2147483647 即 11111111 11111111 11111111 11111111 
取反后为 10000000 00000000 00000000 00000000 再加1得补码为 10000000 00000000 00000000 00000001;

-2147483648 的补码即 10000000 00000000 00000000 00000000

0 ~ 2147483647 的补码范围 00000000 00000000 00000000 00000000 ~ 01111111 11111111 11111111 11111111
-2147483648 ~ -1 的补码范围 10000000 00000000 00000000 00000000 ~ 11111111 11111111 11111111 11111111
全部的32位组合完毕,不可能再有其他情况出现了

猜你喜欢

转载自blog.csdn.net/for_cxc/article/details/85232644