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