【C语言】%d与%u
二进制数 | %d | %u |
---|
0000 0000 0000 0000 0000 0000 0000 0000 | 0 | 0 |
0000 0000 0000 0000 0000 0000 0000 0001 | 1 | 1 |
0000 0000 0000 0000 0000 0000 0000 0010 | 2 | 2 |
0000 0000 0000 0000 0000 0000 0000 0011 | 3 | 4 |
0111 1111 1111 1111 1111 1111 1111 1111 | 2147483647(最大值) | 2147483647 |
1000 0000 0000 0000 0000 0000 0000 0000 | -2147483648(最小值) |
2
31
2^{31}
231 = 2147483648 |
1000 0000 0000 0000 0000 0000 0000 0001 | -2147483647 |
2
31
2^{31}
231 +1 = 2147483649 |
1111 1111 1111 1111 1111 1111 1111 1111 | -1 |
∑
i
=
0
31
2
i
\sum\limits_{i=0}^{31}2^{i}
i=0∑312i = 4294967295 |
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
main(int argc, char* argv[])
{
int a = 2147483647;
printf("%d %u\n", a, a);
++a;
printf("%d %u\n", a, a);
++a;
printf("%d %u\n", a, a);
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210428144158806.png)