按位运算符(>> << ~ & ^ | )及实例
来源:互联网 发布:linux chgrp 单词 编辑:程序博客网 时间:2024/04/27 10:15
1.移位运算符 :运算符<<和运算符>>的操作数可以是任意整型或字符型的。对两个操作数都会进行整型提升,返回的类型是左边操作数提升后的类型。
i<<j的值是将i中的位左移j位后的结果。每次从i的最左端溢出一位,在i的最右端补一个0位。
i>>j的值是将i中的位右移j位后的结果。如果i是无符号数或者非负数,则需要左端补一个0位。如果i是负数,其结果由实现定义的。
例如:
unsigned int i,j;
i = 13; // i的二进制数为: 0000000000001101
j = i << 2; // j的值为52,二进制为:0000000000110100
j = i >> 2; //j的值为3 二进制为: 0000000000000011
2.按位求反运算符 (~) 按位与运算符(&) 按位异或运算符(^) 按位或运算符(|):这四种运算符都是对操作数的每一位执行布尔运算。
~ 运算符:对操作数求反操作,即将每一个0替换成1,把每一个0替换成1;
& 运算符:两个操作数相应的位执行逻辑与运算。
^ 和 | 运算符: 都是对两个操作数执行逻辑或运算,差异是当两个操作数的位都是1时,^产生0而|产生1.
例如:
int i, j,k;
i = 21 ; //二进制数为: 0000000000010101
j = 56 ; // 二进制数为: 0000000000111000
k = ~i ; // k = 65514 二进制数为: 1111111111101010
k = i ^ j; // k = 45 二进制为: 0000000000101101
k = i & j; // k = 16 二进制为: 0000000000010000
k = i | j ; // k = 61 二进制为: 0000000000111101
优先级: 由高到低: ~ & ^ |
- 按位运算符(>> << ~ & ^ | )及实例
- 位运算应用口诀和实例及C++位运算
- 位运算符简单实例
- 按位运算的运用实例
- java 位运算符详细与实例
- Java的位运算符详解实例
- java的位运算符详解实例
- java 位运算符详解 及 实例 ---与(&),或(|),非(~),异或(^)
- C++位运算实例
- 位运算的实例
- 位运算简单实例
- 位运算实例
- 位运算实例1
- 位运算实例2
- 位运算实例3
- 位运算实例4
- 按位运算符
- 按位运算符
- hdu1527-威佐夫博弈(Wythoff Game)
- C#用Oledb查询Excel某个sheet中的数据——按多个条件查询
- Linux开机启动服务设置
- IT学生解惑真经
- redhat5安装jdk6、eclipse和tomcat6
- 按位运算符(>> << ~ & ^ | )及实例
- 自学java总结----equals
- jquery fullCalendar 显示时出现12a的解决方案
- Python 字典
- Effective C++读书笔记(三) 资源管理
- android 音乐播放器制作 之 Tabhost 简单使用(二)
- classwizard的种种
- android系统信息(内存、cpu、sd卡、电量、版本)获取
- android消息处理机制