为了账号安全,请及时绑定邮箱和手机立即绑定

-10用16进制输出为何为ffffff6

-10用16进制输出为何为ffffff6

智慧大石 2018-07-06 17:16:37
#include <stdio.h>int main(){    short int x = -10;    // 原码 - 1000 0000 0000 1010    // 反码 - 1111 1111 1111 0101    // 补码 - 1111 1111 1111 0110    //         F    F    F    6(我以为的结果)    // 结果 - fffffff6, 好像占用4个字节    printf("%x\n", x);}刚开始看C语言,不太明白求解,谢谢诸位
查看完整描述

2 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

#include <stdio.h>


int main(void) { 

    

    char a=-10,b=1,e=2,d=4;

    long long c=-10;

    int sizea=sizeof(a);

    int sizec=sizeof(c);

    printf("%x,%d\n%x,%d\n",a,sizea,c,sizec);

    printf("%x,%d\n%x,%d",*((unsigned int*)&a),sizea,*((unsigned int*)&c),sizec);

    return 0;

}


查看完整回答
反对 回复 2018-07-12
  • 2 回答
  • 0 关注
  • 505 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信