### 数值溢出
当超过一个数据类型能够存放最大的范围时,数值会溢出.
### 有符号位最高位溢出的区别
符号位溢出会导致数的正负发生改变,但最高位的溢出会导致最高位丢失.
~~~
int a = 2147483647;
int len1 = sizeof(a);
printf("%d\n", len1);
printf("%d\n", a);
int b = a + 1;
int len2 = sizeof(b);
printf("%d\n", len2);
printf("%d\n", b);
~~~
```
4
2147483647 //int类型4个字节可以表示最大的正整数, 二进制是 0111 1111 1111 1111 1111 1111 1111 1111
4
-2147483648 //加1后变成 1111 1111 1111 1111 1111 1111 1111 1111 ,符号位变成了1,所以是负数
```