本帖最后由 xuelanga000 于 2016-7-1 09:02 编辑
各位大神,大家好!
小弟在编写程序时,发现 负数在计算机中是以补码的形式存储的,最高位是符号位
于是小弟采用-25实验了一下,其中-25的原码二进制是1000 0000 0000 0000 0000 0000 0001 1001
-25的补码是1111 1111 1111 1111 1111 1111 1110 0111
int main( )
{
int a=0,b=0;
b=0xffffffffe7;//-25的补码
a=0x8000019;//-25的原码
printf("a=%d\n",a);
printf("b=%d\n",b);
getch();
return 0;
}
为什么a=134217753而不是25;为什么b=-25,请各位大神帮我解答一下更多
|