C语言-大白话理解原码,反码和补码

谢谢读者的阅读


原码,反码和补码

1.理解存储类型

  1. 数据分为字节型和字型数据
    字节型数据占8位,它的原码,反码,补码都是8位,表示0-255
    字型数据占16位,它的原码,反码,补码都是16位, 表示0-65535
  2. 那么就有人会有疑问:8位二进制和16位二进制都为1 当然可以代表255或者65535是没错,但是我又可以代表-127,-32767呀。且慢既然这么说,那么我们是不是就肯定要搞清楚是什么存储方式了,是无符号存储还是有符号存储?
  3. 在8个位中,如果是无符号存储-那就是0-255没有负数,如果是有符号数那么他自己都要占用一个位所以表示为-127-128。
    所以得知,我们的C语言int类型没有写unsigned的时候也是一个有符号数,他的范围是-2147483648~+2147483647,而有符号数为4,294,967,295
  4. 那么原码是什么存储?我们讨论原码是讨论他是有符号还是无符号的

猜你喜欢

转载自blog.csdn.net/qq_33966310/article/details/126168560