Java中的位运算包括以下几种:

  按位与(&):对应位上,如果两个数都是1,则结果为1,否则为0。

    int a = 3; // 二进制 0011
    int b = 5; // 二进制 0101
     // 0001 = 1
    System.out.println("a & b = " + (a & b));

  按位或(|):对应位上,如果两个数有一个为1,则结果为1,否则为0。

        int a = 3; // 二进制 0011
int b = 5; // 二进制 0101
// 0111 = 7
System.out.println("a | b = " + (a | b));

  按位异或(^):对应位上,如果两个数不相同,则结果为1,否则为0。

        int a = 3; // 二进制 0011
int b = 5; // 二进制 0101
// 0110 = 6
System.out.println("a ^ b = " + (a ^ b));

  按位取反(~):对每一位,将0变为1,将1变为0。

        // ~ 的运算规则:
// ~0 = -1
// ~1 = -2
// ~2 = -3
// ~3 = -4
// 因此,~3 = 1100 = -4
int a = 3; // 二进制 0011
// 1100 = -4
// a + ~a = -1 ,等于 1111
// 1111 + 1 = 0000 = 0
System.out.println("~a= " + (~a));

  左移(<<):将二进制数向左移动指定位数,右边用0填充。

        int b = 5; // 二进制 0101
// 1010 = 10 b << 1
// 10100 = 20 b << 2
System.out.println("b << 2 " + (b << 1));

  右移(>>):将二进制数向右移动指定位数,左边用符号位填充。

        int b = 5; // 二进制 0101
// 0010 = 2 b >> 1
// 0001 = 1 b >> 2
System.out.println("b >> 2 " + (b >> 2));

随机推荐

  1. Linux系统运维之Web服务器Nginx安装

    一.介绍 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.本文先整理web服务器内容. 二.环境及软件版本 操作 ...

  2. 2023-07-11:给定正整数 n, 返回在 [1, n] 范围内具有 至少 1 位 重复数字的正整数的个数。 输入:n = 100。 输出:10。

    2023-07-11:给定正整数 n, 返回在 [1, n] 范围内具有 至少 1 位 重复数字的正整数的个数. 输入:n = 100. 输出:10. 答案2023-07-11: 函数的主要思路如下: ...

  3. 即构低延迟直播产品L3,打造更优质的实时互动体验

    以短视频.直播为代表的音视频互动,正成为互联网主流的交互方式.拿直播举例,它从一种娱乐形式,逐渐融合于教育.娱乐.电商.旅游等多种生态中.未来,直播还将成为像水.电一样的基础设施. 然而,仅仅可进行音 ...

  4. Swift函数调用方式浅析

    函数的调用机制   函数的调用机制是在函数调用时通过那种路径走到最终调用函数地址的机制. 在编程语言中,函数的调用机制有三种 1.静态调用:编译期就确定了函数内存地址,执行效率最高,还可以使用编译器优 ...

  5. Git子模块使用说明

    介绍 前端不同应用存在公共的脚本或样式代码,为了避免重复开发,将公共的代码抽取出来,形成一个公共的 git 子模块,方便调用和维护. 软件架构 本仓库代码将作为 git 子模块,被引用到其他仓库中,不 ...

  6. 压缩CSS样式与js样式

    方法一: 使用插件:JS & CSS Minifier (Minify) 使用方法: 效果: 或者按下F1,输入命令:Minify:Document

  7. APubPlat 一款Devops自动化部署、持续集成、堡垒机开源项目、友好的Web Terminal

    嗨.很高心你能进入这里,我是zane,  在这里给你介绍一款完整的Devops自动化部署工具 APubPlat - 一款完整的Devops自动化部署.持续集成.堡垒机.并且友好的Web Termina ...

  8. Linux文件与目录管理核心命令:看这篇就够了

    Linux文件与目录核心命令 Linux命令操作语法示例 #命令 选项 参数 command [-options] [arguments] [root@localhost ~]# ls //命令 an ...

  9. 论文解读()《Cluster Alignment with a Teacher for Unsupervised Domain Adaptation》

    Note:[ wechat:Y466551 | 付费咨询,非诚勿扰 ] 论文信息 论文标题:Cluster Alignment with a Teacher for Unsupervised Doma ...

  10. 青少年CTF-Web-CheckMe01

    题目描述 半颗星的简单题,CheckMe01 启动题目,并访问. 解题过程 访问题目页面,提示我们需要输入一个Key. 随便输入一个值,发现出现了一些代码. 我们仔细阅读代码,来了解这段代码是干什么的 ...