【c】正负数二进制表示

#include <stdio.h>

int main()
{
        unsigned int a;
        unsigned int b;
        a=1;
        b=2;
        printf("a-b: %d,%x
",a-b,a-b);
        printf("a-b: %u,%x
",a-b,a-b);
        return 1;
}

a-b: -1;ffffffff;

a-b: 4294967295, ffffffff

无符号1111111111111111 表示很大的数 而有符号数 1 111111111111111 表示-1

负数 符号位+补码的形式表示

负数:原码就是原来的表示方法、反码是除符号位(最高位)外取反、补码=反码+1双字节数

困难是老天给我们提高的机会,坚定不移勇敢地去攻克,不要退缩,加油!
原文地址:https://www.cnblogs.com/merlini/p/3156832.html