1. 程式人生 > >負數在記憶體中的儲存

負數在記憶體中的儲存

負數在記憶體中是以補碼的形式儲存的,先寫出該負整數的原碼,然後將原碼除符號位以外的各位取反,得到反碼,
再將反碼加一,得到補碼,即為該負數的二進位制儲存形式 。

void main()
{
char *p;
*p=-130;
printf("%d",*p);
}

正確的答案是126,
原因:-130在計算機裡面儲存形式是11111111-01111110(取反碼的形式),
因為C裡面的CHAR是8位的,所以,最高位1去掉,剩下01111110。