merlin

精益求精

孤鸿

导航

【c】正负数二进制表示

#include <stdio.h>

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

a-b: -1;ffffffff;

a-b: 4294967295, ffffffff

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

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

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

 

 

 

posted on 2013-06-26 16:35  天地一连线_孤鸿挂飘渺  阅读(384)  评论(0编辑  收藏  举报