补码与移位

来源:互联网 发布:淘宝卖家中心app 编辑:程序博客网 时间:2024/06/05 21:47

也可以利用windows自带的计算器,选择双字,我的机器是i386,32位的xp系统,因此int为4字节。

有符号数向右移位,填充位等于原始数最左边的位。

#include "stdio.h"

int main()
{
    int d=-13;
    printf("%x/n",d);
}

输出:fffffff3,其二进制为11111111111111111111111111110011

 

#include "stdio.h"

int main()
{
    int d=-13;
    printf("%x/n",d>>1);
}

移位后

输出:fffffff9,其二进制为11111111111111111111111111111001