1、按位与运算符(&)

参加运算的两个数,按二进制位进行“与”运算。

运算规则:只有两个数的二进制同时为1,结果才为1,否则为0。(负数按补码形式参加按位与运算)

即 0 & 0= 0 ,0 & 1= 0,1 & 0= 0, 1 & 1= 1。

例:3 &5  即 00000011 & 00000101 = 00000001 ,所以 3 & 5的值为1。

2、按位或运算符(|)

参加运算的两个数,按二进制位进行“或”运算。

运算规则:参加运算的两个数只要两个数中的一个为1,结果就为1。

即  0 | 0= 0 ,  1 | 0= 1  , 0 | 1= 1  ,  1 | 1= 1 。

例:2 | 4 即 00000010 | 00000100 = 00000110 ,所以2 | 4的值为 6 。

3、异或运算符(^)

参加运算的两个数,按二进制位进行“异或”运算。

运算规则:参加运算的两个数,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。

即 0 ^ 0=0  , 0 ^ 1= 1  , 1 ^ 0= 1  , 1 ^ 1= 0 。

例: 2 ^ 4 即 00000010 ^ 00000100 =00000110 ,所以 2 ^ 4 的值为6 。

4、左移( << )

将6左移2位:6<<2

0000 0110          十进制6

0001 1000           左移2位后,低位补0,换算成十进制为24

5、右移( >> )

将6右移2位:6>>2

0000 0110           十进制6

0000 0001          右移2位后,高位补0,换算成十进制为1

6、无符号右移( >>> )

将 6 无符号右移2位:6>>>2

0000 0110

0000 0001           右移2位后,高位补0,换算成十进制为1

将 -6 无符号右移2位:-6>>>2

1111 1111 1111 1111 1111 1111 1111 1010   负数都以补码表示

0011 1111 1111 1111 1111 1111 1111 1110   换算成十进制为1073741822

7、非( ~ )      非是一元操作符

操作数的每一位1变为0,0变为1

将6非运算:~6

0000 0110
1111 1001     换算成十进制为-7

二进制位运算(按位与、按位或、异或、左移、右移、非)相关推荐

  1. JS中或﹑与﹑否﹑异或﹑左移﹑右移﹑头尾补零的右移运算符

    1.二进制或运算符(or):符号为 | 逐位比较两个运算子,两个二进制位之中只要有一个为1,就返回1,否则返回0. 0 | 3 // 3 上面代码中,0和3的二进制形式分别是00和11,所以进行二进制 ...

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

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

  3. 位与()、位或(|)、异或(^) 、左移<<、右移>>、原码、反码、补码的简单应用

    一.位与(&).位或(|).异或(^) 1.位与运算(&):两位同时为1,结果才为1,否则为0 参加运算的两个数据,按二进制位进行"&"运算. 运算规则:0 ...

  4. c/c++位操作简介--移位、位与、位或、异或

    概述 C/C++里面位操作符表示为如下:左移位 << ,右移位 >>,位与 &,位或 | ,位异或 ^,按位求反~. 位操作符针对的是补码形式(可参见下面的例子,其实我 ...

  5. 位运算专题一:位与、位或、位反

    位运算只用于所有的整型!!(char,short,int,long int,long long,unsigned char,unsigned short......),浮点值均不适用!!! 位运算有哪 ...

  6. c语言位运算负数的实例_JavaScript基础教程(四)二进制位运算

    JavaScript基础教程二进制位运算 JavaScript中的位运算是针对二进制数据提供的运算与操作.在JavaScript标准中规定了二进制位运算时其操作数长度为32位,其最高位为符号位,因此能 ...

  7. 位运算符:按位与(),按位或(|),按位异或(^),取反(~)左移()和右移()

    数据在内存中是以二进制的形式存放的,计算机存储数据的最小单位是位(bit),一个二进制位可以表示两种状态(0和1),一个字节通常由8位二进制位组成.C语言支持按位运算,按位运算也就是对字节或者字中的实 ...

  8. Java二进制位运算、移位运算、、

    为什么80%的码农都做不了架构师?>>>    Java二进制位运算.移位运算 思考题 1.请看下面的代码段,回答a,b,c,d,e结果是多少? public static void ...

  9. 位操作符详解(移位操作符(左移/右移)、按位与‘’操作符、按位或‘|’操作符、按位异或‘^’操作符)

    位操作是程序设计中对位模式按位或二进制数的一元和二元操作: 在许多微处理器上,位运算与加减运算速度大致相同,但位运算的速度远快于乘法运算: 位操作符的使用,可以使我们在处理一些问题上方便许多. 移位操 ...

  10. python左移右移位运算_荐Python : 位运算 —— 与、或、异或、左移、右移

    Python : 位运算 -- 与.或.异或.左移.右移 位运算 位运算是把数字用 二进制 表示之后,对每一位上 0 或者 1 的运算.位运算共有 5 种运算:与.或.异或.左移.右移. 与.或.异或 ...

最新文章

  1. RDKit | 基于RDKit从分子中提取3D药效团特征
  2. java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)...
  3. 离开页面提示是否保存页面修改内容的简单实现
  4. python实现WebsocketServer 服务端
  5. LeetCode 98验证二叉搜素树(中序遍历)99恢复二叉搜索树
  6. 承载网络开启后显示无法连接到Internet,已解决
  7. Android 使用jtds远程访问数据库
  8. 多线程线程池的实现java_如何在Java中实现线程池
  9. HDU 1520Anniversary party(树型DP)
  10. Python突击(一)
  11. android利用数字证书对程序签名
  12. Android 7.0 抓包
  13. 41、财务总账科目余额表,三栏式总账,三栏式明细账 查询条件科目增加多选查询
  14. Secondary NameNode:它究竟有什么作用?
  15. 使用Mono.Cecil对MSIL进行注入
  16. LeetCode 915. 分割数组**(double,需要trp)
  17. IntelliJ配置jenkins服务的Crumb Data
  18. try的动词用法_try的用法都有什么
  19. 笔记本“电源已接通,未充电”的解决办法 win7
  20. Linux查看/设置服务器时间

热门文章

  1. 破解WindowsXP的密码
  2. Android模仿奇怪的大冒险主界面表情变化
  3. PostgreSQL中的json解析
  4. 李进良:TD产业驶入平稳发展车道
  5. 公司百度百科词条怎么创建成功
  6. Java面向对象 - 封装、继承和多态的综合练习
  7. React受控组件和非受控组件的区别
  8. 计算机开机故障报错,笔记本电脑开机报错故障的原因及解决办法
  9. 计算机基础应用工作中,关于计算机基础心得体会
  10. welch matlab,经典功率谱估计Welch法的MATLAB仿真分析.pdf