如何在位级别上进行操作?
How is the manipulation is done on bit level?
假设char的大小为1字节,负数以2的补码形式存储
#include<stdio.h>
int main()
{
char c = 125;
c = c+10;
printf("%d", c);
return 0;
}
答案怎么会是-121呢?
125 + 10 = 135。这大于 127,因此加法溢出,最终结果为 135 - 256 = - 121。
假设char的大小为1字节,负数以2的补码形式存储
#include<stdio.h>
int main()
{
char c = 125;
c = c+10;
printf("%d", c);
return 0;
}
答案怎么会是-121呢?
125 + 10 = 135。这大于 127,因此加法溢出,最终结果为 135 - 256 = - 121。