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

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

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

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

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

#include <stdio.h>

int main()
{
	int num = -128;
	printf("%08x
",num);
	num = num >> 4;
	printf("%08x
",num);

	num = 128;
	printf("%08x
",num);
	num = num >> 4;
	printf("%08x
",num);
	return 0;
}

  

原文地址:https://www.cnblogs.com/yangxunwu1992/p/5769608.html