首页 > 代码库 > 位运算相关
位运算相关
位运算符/移位运算符
运算符
-
&运算符
操作数1的位 操作数2的位 &的结果位 1 1 1 1 0 0 0 1 0 0 0 0 -
|运算符
操作数1的位 操作数2的位 &的结果位 1 1 1 1 0 1 0 1 1 0 0 0 -
^运算符
操作数1的位 操作数2的位 ^的结果位 1 1 0 1 0 1 0 1 1 0 0 0 -
~运算符
操作数的位 ~的结果位 1 0 0 1
移位运算符
-
原因:
主要用于高度优化的代码,在这些代码中,使用其他数据操作的开销太高了 -
示例:
int var1, var2 = 10, var3 = 2; var1 = var2 << var3;
- 结果:
var1 = 40。
具体过程如下:10的二进制值是1010,把该数值向左移动两位,得到0010 1000,即十进制中的40 - 快速记忆
向左位移:等于当前的值乘以移动位数再乘以2
var1 = var2 << var3; var1 = var2 * var3 * 2 // var1 = 10 * 2 * 2 = 40
向右位移:等于当前的值除以移动位数再除以2,最后舍去非整数部分
var1 = var2 >> var3; var1 = var2 / (var3 * 2) // var1 = 10 / ( 2 * 2) = 2.5 // 然后小数部分被丢弃var1 = 2 // 向右位移操作的时候非整数部分直接丢弃
位运算相关
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。