首页 > C语言 > C语言移位操作

C语言移位操作

        在C语言中判断奇偶、乘2、除2等操作都可以使用位移操作方便的实现。比如说判断变量num的奇偶性,只需num&1就可以了,如果结果为1,则num是奇数,否则num是偶数。而乘2可以左移1,除2则是右移1.

        最近在学线段树,第一次写时出了问题,仔细一分析,原来是移位操作的地方出了问题。位移操作的优先级是非常非常低的,比四则运算要低,所以如果既要移位又要四则运算,则必须用括号括起来。下面是一个简单的例子:

#include <stdio.h>
int main()
{
	int idx = 64;
	printf("%d<<1+1 = %d\n", idx, idx<<1 + 1);
	printf("(%d<<1)+1=%d\n", idx, (idx<<1)+1);
	return 0;
}

输出结果截图如下:

测试结果


觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> C语言移位操作
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



分类: C语言 标签: , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.