一、“按位与”运算符(&)

1、运算规则
参加运算的两个数据,按二进位进行“与”运算,如果两个相应的二进位都为1,则该位的结果值为1,否则为0,即:
0&0=0,0&1=0,1&0=0,1&1=1.
2、用途
1、保留某一个数的某些位。与一个数进行&运算,此数在一些位取1。
eg.按位与运算通常用来对某些位清0或保留某些位。例如把a的高八位清0,保留低八位,可作 a&255 运算 ( 255 的二进制数为0000000011111111)。

2、i&(-i):返回 i 的二进制数最低位为1的权值
例如
10100最低位的1权值是4
1001010最低位的1权值是2
111最低位的1权值是1

二、 按位或运算符(|)

1、运算规则
参加运算的两个数据,按二进位进行“或”运算,如果两个相应的二进位都为0,则该位的结果值为0,否则为1,即:
0|0=0,0|1=1,1|0=1,1|1=1。
2、用途
对一个数据的某些位定值为1。
 

三、“异或”运算符(^)

也称XOR运算符。
1、运算规则
若参加运算的两个二进位同号,则结果为0(假);异号则为1(真),即:
0^0=0,0^1=1,1^0=1,1^1=0.
2、用途
(1)使特定位翻转
假设有01111010,想使其低4位翻转,可以将它与00001111进行^运算。
(2)与0相^,保留原值
(3)交换两个值,不用临时变量
假如a=3,b=4。想将a和b的值互换,可以用以下赋值语句实现:
a=a^b; b=b^a; a=a^b;

四、“取反”运算符(~)

运算规则
~是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变1,1变0。

五、 左移运算符(<<)

1、运算规则
用来将一个数的各二进位全部左移若干位,右补0,高位左移后溢出,舍弃不起作用。
2、用途
左移一位相当于乘以2

六、 右移运算符(>>)

1、运算规则
用来将一个数的各二进位全部右移若干位,移到右端的低位被舍弃,对无符号数,高位补0;
对有符号数,左边移入0(“逻辑右移”)或1(“算术右移”)
2、用途
右移一位相当于除以2

七、位运算赋值运算符

位运算符与赋值运算符可以组成复合赋值运算符,如:
&=,|=,>>=,<<=,^=

位运算符和位运算(与,或,异或等)相关推荐

  1. java位运算符和位运算表达式

    java位运算符和位运算表达式 > 右移 x>>a X各比特位右移a位 << 左移 X< >> 不带符号的右移 x>>>a X各比特位 ...

  2. c语言负数左移右移_C语言位运算符:与、或、异或、取反、左移和右移!

    语言位运算符:与.或.异或.取反.左移和右移 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进制位的问题.C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符 ...

  3. c语言负数左移右移_C语言位运算符:与、或、异或、取反,左移和右移

    C语言位运算符:与.或.异或.取反.左移和右移 个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型. ,则该位的结果值为1,否则为0 | ...

  4. 16位异或 c语言,C语言位运算符:与、或、异或、取反、左移和右移

    <C语言位运算符:与.或.异或.取反.左移和右移>由会员分享,可在线阅读,更多相关<C语言位运算符:与.或.异或.取反.左移和右移(7页珍藏版)>请在人人文库网上搜索. 1.C ...

  5. 【详解】位运算符:位逻辑运算符,位移运算符(<<左移,>>右移)

    位运算符包括位逻辑运算符.位移运算符.最近做算法的时候经常用到,现在来总结下. 重点掌握的是 左移 << ,右移 >> . 1.位逻辑运算符 那么位逻辑运算符怎么计算的呢?先看 ...

  6. C语言位运算符:与、或、异或、取反、左移和右移

    C语言位运算符主要包括六种:与( & ).或( | ).异或( ^ ).取反( ~ ).左移( >> )和右移( << ) 运算符 含义 描述 & 按位与 如果 ...

  7. Java中的位运算符、移位运算

    一.位运算 Java中有4个位运算,它们的运算规则如下: (1)按位与 (&)  :两位全为1,结果为1,否则为0: (2)按位或  (|)   :两位有一个为1,结果为1,否则为0: (3) ...

  8. C语言按位运算符 按位逻辑运算 移位运算 及其用法

    目录 按位逻辑运算符 移位运算符 按位逻辑运算符 C语言提供了四种按位逻辑运算符 注:他们的操作数必须是整数. 1.按位取反(~) ~运算符把0变为1,把1变为0,如下例子所示: ~(0100 100 ...

  9. python位运算用途_Python 位运算符与位运算

    总结: 位运算符 是 直接对整数在内存中的二进制位进行操作: Python运算符优先级: 以下表格列出了从最高到最低优先级的所有运算符: 运算符 描述 ** 指数 (最高优先级) ~ + - 按位翻转 ...

最新文章

  1. python day two,while
  2. python全栈开发第36天------GIL全局解释锁、死锁现象和递归锁、信号量、Event事件、线程...
  3. python wordcloud 错误 ModuleNotFoundError: No module named 'query_integral_image'
  4. 该段代码编译运行后显示的是蓝色背景,白色闪烁字的效果
  5. 网络资源的初始化与释放(C++ RAII惯用法)
  6. 程序员绩效总结_年终总结怎么写?
  7. 面试官系统精讲Java源码及大厂真题 - 39 经验总结:不同场景,如何使用线程池
  8. leetcode 1222 python
  9. linux目录详解i-node,i-node节点与链接
  10. easui Pagination Layout
  11. javaScript内置对象简介
  12. 如何掌握所有的编程语言?
  13. DEC VT100 terminal
  14. 我滴个乖乖,一万三千颗卫星那
  15. 应用密码学(张仕斌)第四章
  16. 前端学习 JavaScript基础
  17. 软件著作权登记申请容易通过吗?软著申请成功率高吗?
  18. 手机python3.0编程软件-QPython3手机版下载
  19. 传奇工程师卡马克入坑 AI:徒手一周实现反向传播和 CNN
  20. html flash闹钟,教你用Flash制作可以定时闹钟

热门文章

  1. java三元表达式必须返回_java – 三元运算符的右手表达式必须兼容...
  2. 字节跳动在Spark SQL上的核心优化实践
  3. 移动应用开发实例_物联网改变移动应用开发的4种方式
  4. Cron 表达式详解及最新版本使用
  5. SpringBoot 分片上传、断点续传、秒传、直传Minio
  6. APG(Accelerate Proximal Gradient)加速近端梯度算法 和 NAG(Nesterov accelerated gradient)优化器原理 (二)
  7. 贪心算法 绝对值不等式 C语言描述
  8. 海伦公式(附一种证明方法)
  9. 前端经典面试题 | 闭包的作用和原理
  10. 斑马PDA对接Android