为什么 在内存中为什么 0xffff 是 -1


前言

关于补码的理解
还搞不懂负数怎么用二进制表示?看完这一篇就懂了

数在内存中是如何表示的?

在计算机中数值是以二进制补码形式存在的。

正数的补码不变

负数的补码为 原码 ->取反 -> 加一
有符号二进制数–补码

-1 的二进制编码

  • +1 的二进制 (第一位是符号位)
    0000 0000 0000 0001

  • -1 的二进制 (第一位是符号位)
    1000 0000 0000 0001

  • -1 的二进制 (第一位是符号位)
    1000 0000 0000 0001

  • -1 的二进制反码
    1111 1111 1111 1110
    - -1 的二进制补码 (反码+1)
    1111 1111 1111 1111

  • -1 的16进制
    ffff

posted @ 2022-08-19 22:44  luoganttcc  阅读(45)  评论(0编辑  收藏  举报