c语言编程
时间:10-02
整理:3721RD
点击:
各位大神,大家好!
小弟在编写程序时,发现 负数在计算机中是以补码的形式存储的,最高位是符号位
于是小弟采用-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,请各位大神帮我解答一下更多
小弟在编写程序时,发现 负数在计算机中是以补码的形式存储的,最高位是符号位
于是小弟采用-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,请各位大神帮我解答一下更多
0
你好像在b的赋值那儿多打了两个ff