高质量C编程09-位操作
2016-05-13 14:14
162 查看
1.位运算通常是无符号数的运算
2.基本位操作符
符号 | 作用 |
---|---|
& | 位与 |
| | 位或 |
~ | 位反 |
^ | 位异或 |
<< | 左移 |
>> | 右移 |
3.基本位操作符使用归纳
(1)判断int型变量
a是奇数还是偶数
a & 1 == -0 //偶数 a & 1 == -1 //奇数
(2)取
int型变量
a的第
k位
a >> k & 1;
(3)将
int型变量
a的第
k位清0
a = a & ~(1 << k);
(4)将
int型变量
a的第
k位置1
a = a | (1 << k);
(5)将
int型变量
a的第
k位取反
a = a ^ (1 << k);
(6)
int型变量
a循环左移
k次
a = a << k | a >> 32 - k;
(7)
int型变量
a循环右移
k次
a = a >> k | a << 32 - k;
4.处理复合表达式的两个指导原则
求值顺序优先级
结合性
(1)如果有怀疑,则在表达式上按程序逻辑要求使用
( )强制操作数的组合
(2)如果要修改操作数的值,则不要在同一个语句的其它地方使用该操作数,
如果必须要使用改变的值,则把该表达式分割成两个独立语句,在一个语句中改变操作数的值,另一个语句中使用它
相关文章推荐
- java利用set给数组去重
- C++ Cross Platform Memory Leak Detector
- java学生成绩管理系统
- ueditor之ruby on rails 版
- PHP获取字符串长度之strlen和mb_strlen的区别
- 如何在大学时代成为编程大神!
- Processing Java Annotations Using Reflection
- 个人godaddy域名备案解决方案
- SpringAOP面向切面详解(带实例)
- 使用AbstractProcessor遇到的一些问题
- PHP语言 -- 发起流程
- spring-boot-Me
- Spring IoC浅析
- 浅析java class文件格式
- C语言第一次课
- java代码如何发送QQ邮件
- *C语言有关指针的变量声明中的几个易错点
- QQ空间,微博空间图片的保真剪裁显示使用UIViewContentModeScaleAspectFill
- 一个简单的python爬虫程序
- Java并发编程之锁