C++细节学习之高效的位运算
2015-05-23 10:17
751 查看
基础:
左移运算符
右移运算符
应用:
位运算比乘除法高效很多,所以编程时能用位运算的尽量用位运算。
乘除法:
求余数,判断奇偶:
左移运算符
m<<n,表示把m左移n位,左移n位的时候,最左边的n为将丢掉,同时在最右边补上n个0;比如:
01100010<<2=10001000
右移运算符
m>>n表示把m右移n位,右移时,最右边的n位将去掉,原先为正数的,在最左边补上n个0;原先为负数的,在最左边补上n个1.比如:
01100010>>2=00011000 10100010>>3=11110100
应用:
位运算比乘除法高效很多,所以编程时能用位运算的尽量用位运算。
乘除法:
n>>1代替
n/2
- 除2 = 右移1位 乘2 = 左移1位 - 除4 = 右移2位 乘4 = 左移2位 - 除8 = 右移3位 乘8 = 左移3位
求余数,判断奇偶:
n&1==1代替
n%2==1
相关文章推荐
- 黑马程序员——C语言学习笔记03 变量在内存中存储的细节、位运算
- C++细节学习之指针和const限定符
- C/C++学习笔记——位运算
- C++学习笔记-----用位运算实现加减乘除
- C++ Prime学习过程中的细节摘记(三)
- C++学习 —— 住着魔鬼的细节
- C++ Prime学习过程中的细节摘记(三)
- C++细节学习之小数比较和字符型加减
- C++ 细节与技巧 学习中更新ing
- java学习细节(与C/C++对比):(一)
- java学习细节(与C/C++对比):(二)
- C++细节学习之构造函数初始化列表
- C++ 位运算:怎样使用位运算简洁高效的完成计算
- C++ 再学习。。。编写高效安全的C++程序
- C++细节学习之类的实例化
- C++学习:命令行与位运算
- [C++学习笔记]--位运算、引用、const指针
- C++学习小结之注意细节点
- 【C++ 学习笔记】:MFC(细节部分)
- c++ 学习笔记 -- 关于cout的一些小细节