位运算符主要是以二进制规则进行运算

1.与(&)运算符

使用规则:两个二进制操作数对应位同为1 结果位 才为1,其余情况为0;
例如:整数 a = 15   整数 b = 127
计算:(a & b)

15 的二进制位:0000 1111
127 的二进制为:0111 1111

即:(a & b) = 15

2.或(|)运算符

使用规则:两个二进制操作数对应位只要有一个为1 结果位 就为1,其余情况为0;
例如:整数 b = 127   整数 c = 128
计算:(b | c)

127 的二进制位:0111 1111
128 的二进制位:1000 0000

即:(b | c) = 255

3.非(~)运算符

使用规则:一个二进制操作数,对应位为0,结果位为1;对应位为1,结果位为0;
作用是将每位二进制取反
例如:整数 d = 1
计算:(~d)
十进制 1 的二进制表示为:

0000 0001

每位都取反为:

1111 1110

这是内存中的保存形式。我们读取的十进制是根据原码来读取,而在内存中,数值都是以二进制补码形式存储的。正数的补码和原码一样,负数的补码得到过程:原码 转 反码 再转 补码

负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
传送门:原码, 反码, 补码 详解

然后计算取反后的补码,其真值就是结果。

即:(~d) = -2

4.异或(^)运算符

使用规则:两个二进制操作数对应位相同为0,不同为1;
例如:整数 e = 2   整数 f= 3
计算:(e ^ f)

2 的二进制位:0000 0010
3 的二进制位:0000 0011

即:(e ^ f) = 1

5.代码实现

public class bitwise {public static void main(String[] args){int a = 15;int b = 127;int c = 128;int d = 1;int e = 2;int f = 3;System.out.println("a和b的 与运算 结果为:" + (a & b));System.out.println("b和c的 或运算 结果为:" + (b | c));System.out.println("d 非运算 的结果为:" + (~d));System.out.println("e和f 异或运算 的结果为: "  + (e ^ f));}
}

运算结果:

a和b的 与运算 结果为:15
b和c的 或运算 结果为:255
d 非运算 的结果为:-2
e和f 异或运算 的结果为: 1

位运算符详解(与,或,非,异或)相关推荐

  1. Java 位运算符详解

    文章目录 Java 位运算符详解 前情提要: 一.简介 二.如何区分 &,|,^ 是逻辑运算符还是位运算符? 三.例子 按位与 & 按位或 | 按位异或 ^ 按位取反 ~ 左移 < ...

  2. 位运算符Java与详解_java位运算符详解

    java位运算符详讲 一.位运算符分类    java中位运算符主要有:按位与&.按位或|.按位非~.按位异或^. 在使用时,需要将运算数都转换为二进制再进行运算,若为负数则使用补码表示.二. ...

  3. java位运算符详解

    java位运算符详讲 一.位运算符分类     java中位运算符主要有:按位与&.按位或|.按位非~.按位异或^.  在使用时,需要将运算数都转换为二进制再进行运算,若为负数则使用补码表示. ...

  4. java 异或 排序_Java的位运算符详解实例——与()、非(~)、或(|)、异或(^)...

    位运算符主要针对二进制,它包括了:"与"."非"."或"."异或".从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两 ...

  5. Java的位运算符详解——与()、非(~)、或(|)、异或(^)

    位运算符主要针对二进制,它包括了:"与"."非"."或"."异或".从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两 ...

  6. Java位运算符详解(移位、位与、或|、非~、异或^)

    位运算符 位运算是对操作数以二进制为单位进行的操作和运算,运算结果为整数.位运算符包括:"&"."|"."~"."^&qu ...

  7. 【C语言初阶】操作符之 位运算符详解(“ << ”,“ >> ”,“ ”,“ | ”,“ ^ ”,“ ~ ”)

    目录 C语言中六种位运算符: 一.位移运算符 1.移位运算符简介 2.先要了解一点 3. << 左移运算符 4.>>右移运算符 5.警告 二. 1.& 按位与 2.| ...

  8. Java千问:Java语言位运算符详解

    很多编程语言都有位运算符,Java语言也不例外.在Java语言中,提供了7种位运算符,分别是按位与(&).按位或(|).按位异或(^).取反(~).左移(<<).带符号右移(> ...

  9. 64位 unsigned char_Java位运算符详解

    前言 之前了解过位运算符,左移<<等于乘以2,右移>>等于除以2.但是我在看jdk源码的时候发现了一个>>>三个符号的,不明白这是什么意思,就去搜了一下,发现 ...

最新文章

  1. Linux之链接命令
  2. ASP.NET Ajax – History Support 續
  3. 一个简单的汇编报时小闹钟
  4. openstack开发_在OpenStack开发中有效使用指标
  5. 计算机指令就是一串开关吗,什么是非法关机?常按计算机开关,还是直接拔掉电源插头才算啊?...
  6. antdPro Nginx 打包部署
  7. python有哪些好的学习资料或者博客
  8. (转载) linux安装JDK
  9. java 锁的重入_Java 的可重入锁和不可重入锁
  10. 在Eclipse里自动导入相应包的类名的快捷键
  11. 【Golang】Go语言defer用法大总结(含return返回机制)
  12. 按键精灵定位坐标循环_关于按键精灵win10抓抓截图问题
  13. 下载链接|从CAD2004到CAD2022下载安装软件,提升CAD施工图大师一点儿也不难!
  14. 汉字编码原则及0XA1与0X80代表的含义。(汉字编码原则为转发)
  15. 地铁服务器的系统,地铁综合监控系统
  16. django提供的admin后台增加用户时提示:“Table ‘login.login_user‘ doesn‘t exist“
  17. electron 自定义右键菜单
  18. Period Table - org acct periods
  19. xxx 用户不再sudoer 文件中 此事将被报告。
  20. leetcode-腾讯精选50题-02

热门文章

  1. 任意多边形的面积计算
  2. 在Ubuntu上安装VM WarePlayer 编译不过
  3. MIUI系统ROM固件,小米手机所有历史全部机型合集
  4. 使用jquery实现快递单号查询
  5. Java学习体系(骨灰级详细)
  6. 王权游戏中“帽子王”成就的获取
  7. 用OutLook发手机短信
  8. 腾讯云服务器使用中遇到的问题
  9. 独立思考的迷失很可怕!!!
  10. 使用Nightwatch.js做基于浏览器的web应用自动测试