太一的博客

一个程序学徒

c笔记——反码

字长

  • 字长是CPU的主要技术指标之一,指的是 CPU 一次最大能并行处理的二进制位数 •
  • 现在主流的计算机字长是 32 位与 64 位

原码、反码、补码

  • 为了表示负数,将最高位解释为符号位
  • 正数的原码、反码、补码均相同
  • 对于负数,已知原码求 下面代码为什么输出 -128?
1
2
3
4
5
6
7
8
9
int main()
{
char c = 127;
c += 1;
printf("%d", c); // -128
return 0;
}
// 127 = 0111 1111
// 127 + 1 = 1000 0000 = -128