位操作提高程序运行效率 减少除法和取模的运算。在计算机程序中数据的位是可以操作的最小数据单位,理论上可以用”位运算”来完成所有的运算和操作。
左移,后空缺自动补0;
右移,分为逻辑右移和算数右移
1)逻辑右移 不管是什么类型,空缺自动补0;
2)算数右移 若是无符号数,则空缺补0,若是负数,空缺补1;
#include<stdio.h>
int main()
{
int i=305162121,j;
printf("0x%xn",i);
j=i<<(sizeof(int)*4); //左移16位
j=j|i>>sizeof(int)*4; //右移16位,前16位为0
printf("0x%xn",i);
return 0;
}
输出结果
不使用第三方变量,交换两个变量的值
(1)a = a + b;
b = a - b;
a = a - b;
(2)a = a ^ b;
b = a ^ b;
a = a ^ b;
最后
以上就是帅气鞋子最近收集整理的关于位操作(左移和右移)的全部内容,更多相关位操作(左移和右移)内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复