C和指针 第五章 逻辑位移与算术位移

对于操作数的左位移都是相同的,右边空出来的位置用0补齐。

但是对于右位移,对于有符号和无符号数是不一样的,最高位的1有两种处理方式。逻辑位移和算术位移。

逻辑位移:右移入位用0补齐

算术位移:右移入位用原先的该值得符号位决定。

#include <stdio.h>

int main()
{
int num = -128;
printf("%08x\n",num);
num = num >> 4;
printf("%08x\n",num); num = 128;
printf("%08x\n",num);
num = num >> 4;
printf("%08x\n",num);
return 0;
}

  C和指针 第五章 逻辑位移与算术位移

上一篇:C和指针 第五章 位数组


下一篇:C和指针 (pointers on C)——第五章:操作符和表达式