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

一、先说结论
每一个位取反再加一
二、解释
C语言的有符号整数如何计算_第1张图片
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开始继续加,也就是上图我计算机计算的数据-1,294,967,295
4、但是计算机是怎么计算的呢?计算机计算方法就是把十进制转成二进制,然后每一个位取反再加一,最终就会得到-1,294,967,295

你可能感兴趣的:(c语言,开发语言)