计算机整数的表示

1、无论是int,还是uint在底层的存储方式是一样的,都会存在溢出和借位的现象,可以认为是个环,有以下几个情况:

  a、两个数相加,溢出会变成一个小的数。

  b、两个数相减,不够减,借一位。

  c、求一个负数,拿0减去对应的正数。注意:正6是0x0000 0006;负6可不是0x1000 0006,而是0 - 0x0000 0006 = 0xffff fffa

2、对于int,uint存储方式相同,不同的只是编译器把它当成什么数来解释。比如:

  int a = 0xffff fff9;

  unsigned int b = 0xffff fff9;

  对于a,把它当成int解释,就是-7;对于b,把它当成unsigned int解释,就是0xffff fff9.

原文地址:https://www.cnblogs.com/nzbbody/p/3592505.html