关于c语言: main() { int x=020,y=-20; printf(“%d,%x,%o\n",x,y,y); } 的输出结果,及解释

日期:2021-06-02 03:54:19 人气:1

关于c语言: main() { int x=020,y=-20; printf(“%d,%x,%o\n",x,y,y); } 的输出结果,及解释

16,ffffffec,37777777754
x=020 -- 0 打头 是8进制数。 十进制 16, 打出 16
y=-20 -- 十进制,负数。十六进制 0x14 的负数,用补码表示
0x14 (00010100) 的 反码(11101011)加1 就是补码(11101100)。
11101100 就是 0xec, 高位全1,就是 FFFFFF,合起来 ffffffec
补码11101100 的八进制 是 (11 111 ... 111 11
    A+
热门评论