位运算及其应用
来源:互联网 发布:李鸿章 袁世凯 知乎 编辑:程序博客网 时间:2024/04/28 05:12
运算符及其相关描述
& 按位与 :如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。
| 按位或 : 两个相应的二进制位中只要有一个为1,该位的结果值为1。
^ 按位异或 : 若参加运算的两个二进制位值相同则为0,否则为1。
~ 取反 :~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0。
<< 左移 : 用来将一个数的各二进制位全部左移N位,右补0。
>>
右移 :将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0。
1.逻辑运算符
1.&的典型应用:
(1)快速对某一段数据单元数据清零。
a=321;
a=a&0x0;
a 0000 0001 0100 0001
&0000 0000 0000 0000
=0000 0000 0000 0000
(2)获取一个数据的指定位。
获得整型数a=的低八位数据的操作为a=a&0xFF。a=321。
a 0000 0001 0100 0001
&0000 0000 1111 1111
=0000 0000 0100 0001
2. |的典型应用
设定一个数据的指定位。
a=321,将其低八位数据置为1的操作为a=a| 0xFF。
a 0000 0001 0100 0001
| 0000 0000 1111 1111
=0000 0000 1111 1111
3. ^的典型应用
(1)定位翻转
定位翻转:设定一个数据的指定位,将0置为1,1置为0。
a=321,将其低八位数据翻转的操作为a=a^0xFF。
a 0000 0001 0100 0001
^ 0000 0000 1111 1111
= 0000 0001 1011 1110
(2)数值交换。无需引入第三个变量。a=3,b=4交换a,b的值。
a=a^b; 0011^0100=0111
b=b^a; 0100^0111=0011
a=a^b; 0111^0011=0100 a=a^b
-> b=b^a=b^(a^b)=b^b^a=a;
-> a=a^b ->
a=(a^b)^(b^b^a)=a^b^b^b^a=a^a^b^b^b;
- 位运算及其应用
- 位运算及其应用
- 位运算及其应用
- 位运算及其应用
- 位运算及其应用
- 位运算及其应用
- 位运算符及其应用
- 位运算及其简单应用
- 位运算及其应用详解
- 位运算及其应用详解
- 位运算及其应用详解
- 位运算及其应用详解
- 位运算符及其应用
- 位运算及其应用详解
- 位运算及其应用详解
- 位运算及其应用实例
- 位运算符及其应用
- 位运算应用及其注意事项
- 教你搞定Android自定义ViewGroup
- 浅谈UML的概念和模型之UML九种图
- Activity的四种启动模式详解
- HTML总结
- NSString的详细用法(函数说明)
- 位运算及其应用
- 树莓派hwclock命令参数及用法详解--linux显示/设置硬件时钟命令
- 写css 的时候可以自动刷新界面的js
- 黑马程序员日记-16
- Hadoop自定义Writable实现二次排序
- Basic Calculator II | LeetCode 48ms C++ Solution
- 《Effective Java》笔记
- 转帖:PLSQL怎么创建oracle数据库用户
- Java super关键字总结