C语言的有符号整数如何计算

一、先说结论
每一个位取反在加一
二、解释
1、如上图所示,对于无符号整形数据占位为4个字节,即0-4,294,967,296。
2、但是在printf("%d\n", un);打印出来为什么是-1294967296
3、对于有符号整数的打印区间为-2,147,483,6482,147,483,647,如果溢满应该从-2,147,483,648开始继续加,也就是上图我计算机计算的数据-852516353,但是打印出来的数据却不一样,这个是为什么呢?

猜你喜欢

转载自blog.csdn.net/qq_45156021/article/details/129734247