C 语言中18取反运算后为何是-19

日期:2021-07-18 03:02:41 人气:1

C 语言中18取反运算后为何是-19

18在目前32位系统里二进制是:0000 0000 0000 0000 0000 0000 0001 0010 (18)
取反之后为:1111 1111 1111 1111 1111 1111 1110 1101 (4294967277)
负数表示,最高位的符号位不变,其余位取反加1,变为:1000 0000 0000 0000 0000 0000 0001 0011 (-19)
所以取反后作有符号表示时为-19
    A+
热门评论