微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > c语言编程

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,请各位大神帮我解答一下更多

0




你好像在b的赋值那儿多打了两个ff

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top