C语言:-4分别以10进制整数 八进制 16进制 无符号显示结果

#include <stdio.h>
main()
{
    short i=-4;
    printf("%d %o %x %u",i,i,i,i);
    getchar();
 }
//试卷答案为:04 177774 fffc 65532

%o %x %u
short i=-4;
i 2字节
-4原码:10000000 0000100
反码:11111111 1111011
补码:11111111 1111100
32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
如果都是1,结果是65535
最低位两个0,则65535-3=65532
65532转8进制:177774
65532转16进制:fffc

 

  

 

 

 

 

 

posted @ 2022-10-31 09:04  myrj  阅读(1111)  评论(0编辑  收藏  举报