首页 / 软件开发 / C++ / C++中<<的优先级
C++中<<的优先级2011-04-28 本站整理 发现<<的优先级好低呀...还是我太无知了...#include <stdio.h>
#define GET_BIT(a, b, c) a << b - c
int main()
{
int a = 1;
int b = 5;
int c = 4;
printf("%d
", GET_BIT(a, b, c) + 1);
}
result: 4
C的优先级口诀括号成员第一; //括号运算符[]() 成员运算符. ->全体单目第二; //所有的单目运算符比如++、 --、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等等于(与)不等排第七; //即== 和!=位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)"三分天下"八九十;逻辑或跟与; //逻辑运算符:|| 和 &&十二和十一; //注意顺序:优先级(||) 底于 优先级(&&)条件高于赋值, //三目运算符优先级排到13 位只比赋值运算符和","高逗号运算级最低! //逗号运算符优先级最低