asm基础——计算机的原码和补码

来源:互联网 发布:macair windows 编辑:程序博客网 时间:2024/06/11 04:16

在计算机中,数值用补码表示,正数的补码与原码相同,负数的补码是对应正数原码取反加1。

正数:16

转换成十六进制:0x10

再转换成二进制:0000 0000 0000 0000 0000 0000 0001 0000


负数:-16

对应正数:16

正数对应的二进制:0000 0000 0000 0000 0000 0000 0001 0000

取反:1111 1111 1111 1111 1111 1111 1110 1111

加1:1111 1111 1111 11111111 1111 1111 0000 

所以-16的补码是:1111 1111 1111 11111111 1111 1111 0000 

对应的十六进制:0xFFFFFFF0


也可以根据负数的二进制得到十进制:取反加1,再加负号:

实际的二进制:

1111 1111 1111 1111 1111 1111 1111 0000

取反:

0000 0000 0000 0000 0000 0000 0000 1111

加1:

0000 0000 0000 0000 0000 0000 0001 0000

对应的十进制是16

加负号:

-16


对应的代码:



0 0