`

Java中位运算(移位、位与、或、异或、非) 的简单实例

 
阅读更多
public class Test {
    public static void main(String[] args) {
        // 1、左移( << )
        // 0000 0000 0000 0000 0000 0000 0000 0101 然后左移2位后,低位补0://
        // 0000 0000 0000 0000 0000 0000 0001 0100 换算成10进制为20
        System.out.println(5 << 2);// 运行结果是20

        // 2、右移( >> ) 高位补符号位
        // 0000 0000 0000 0000 0000 0000 0000 0101 然后右移2位,高位补0:
        // 0000 0000 0000 0000 0000 0000 0000 0001
        System.out.println(5 >> 2);// 运行结果是1

        // 3、无符号右移( >>> ) 高位补0
        // 例如 -5换算成二进制后为:0101 取反加1为1011
        // 1111 1111 1111 1111 1111 1111 1111 1011
        // 我们分别对5进行右移3位、 -5进行右移3位和无符号右移3位:
        System.out.println(5 >> 3);// 结果是0
        System.out.println(-5 >> 3);// 结果是-1
        System.out.println(-5 >>> 3);// 结果是536870911

        // 4、按位与( & )
        // 位与:第一个操作数的的第n位于第二个操作数的第n位如果都是1,那么结果的第n为也为1,否则为0
        System.out.println(5 & 3);// 结果为1
        System.out.println(4 & 1);// 结果为0

        // 5、按位或( | )
        // 第一个操作数的的第n位于第二个操作数的第n位 只要有一个是1,那么结果的第n为也为1,否则为0
        System.out.println(5 | 3);// 结果为7

        // 6、按位异或( ^ )
        // 第一个操作数的的第n位于第二个操作数的第n位 相反,那么结果的第n为也为1,否则为0
         System.out.println(5 ^ 3);//结果为6 

        // 7、按位非( ~ )
        // 操作数的第n位为1,那么结果的第n位为0,反之。
        System.out.println(~5);// 结果为-6 
    } 
}
分享到:
评论

相关推荐

    java经典位运算实例宣贯.pdf

    Java中的位运算是一种高效的操作方式,它可以直接对数据的二进制表示进行操作,从而实现快速计算和优化算法。在Java编程中,位运算通常用于处理底层数据结构、提高算法性能以及解决特定问题。以下是对给定文件中提到...

    JAVA中位运算符合移为运算符

    在阅读《JAVA中位运算符和移位运算符.docx》文档后,您将能更深入地理解这些运算符的实际应用和潜在的陷阱。无论是学习源码解析还是使用相关工具,掌握这些知识都将对您的Java开发工作大有裨益。

    java实现大周期线性反馈移位寄存器

    它首先从`start`字符串中提取出位0、4、10和13,然后通过异或(^)运算生成新的位13(`x13`)。这个异或操作相当于执行了LFSR的线性反馈函数。接着,`start_buffer`用于更新寄存器状态,移除最左边的一位并添加新...

    Java位运算和逻辑运算的区别实例

    接下来是位运算符,包括`&`(按位与)、`|`(按位或)、`^`(按位异或)、`~`(按位非)、`(左移)、`&gt;&gt;`(有符号右移)和`&gt;&gt;&gt;`(无符号右移)。位运算符对整数类型的二进制表示进行操作: 1. **按位与 (`&`)** 和...

    位运算.pdf 精心收集的资料,重新编辑

    - `|`(按位或):设置特定位为1。 - `^`(位异或):翻转特定位,交换变量。 6. 二进制补码运算公式: - 补码运算可以用于简化加减乘除,如`x+y`、`x-y`、`x^y`等。 总的来说,位运算在编程中是强大且高效的...

    位运算及其应用实例.docx

    位运算不仅限于这些基本操作,还有如`&=`、`^=`、`|=`、`和`&gt;&gt;=`这样的复合赋值操作符,它们分别对应于按位与、按位异或、按位或、左移和右移后的赋值。 在实际应用中,位运算常常用于: 1. 不使用临时变量交换两个...

    【IT十八掌徐培成】Java基础第02天-04.运算符-移位运算-逻辑运算.zip

    位运算符包括按位与(&)、按位或(|)、按位异或(^)和按位非(~)。这些运算符可以用来对二进制位进行逐位操作,从而实现诸如设置或清除特定位、交换变量等复杂操作。 总之,理解和熟练运用Java中的移位运算和...

    C#异或加密数字实例源码_0520.rar

    1. **位运算符**:C#提供了包括按位与(&),按位或(|),按位异或(^)等位运算符。在异或加密中,我们主要使用^符号进行加密和解密。 2. **密钥和明文**:在异或加密中,我们需要一个密钥(通常为随机生成的一串二进制...

    位运算 位运算符和位运算位运算举例位段PPT课件.pptx

    位运算符主要有六种:按位与(&),按位或(|),按位异或(^),按位取反(~),左移()和右移(&gt;&gt;). 1. **按位与(&)**: 这个运算符用于逐位比较两个二进制数,如果对应位置都是1,则结果位为1,否则为0。它常用于将某些位清...

    实用位运算规则

    - 使用按位或(`|`)可以将特定比特位置为1,例如:`s = s | mask` 其中 `mask` 在需要置1的位设置为1,其他位设置为0。 3. **取反和交换** - 使用按位异或(`^`)可以轻松地实现比特位的取反或交换,例如:`s = ...

    位运算常用操作总结

    位运算涉及到的操作主要包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)以及移位运算(、&gt;&gt;、&gt;&gt;&gt;)。这些操作可以直接作用于二进制位上,因此效率非常高。 #### 二、位运算应用口诀 - 清零取反要用与 ...

    C语言二进制位运算教学设计.pdf

    二进制位运算,包括与(AND)、或(OR)、异或(XOR)和移位(shift)等操作,对于数字信号的处理、硬件内存的读写等应用来说至关重要。 数据在计算机中的表示方式包括原码、反码和补码。原码是指用一个字节表示一...

    位运算.docx

    位运算是指直接对这些二进制位进行操作的运算,包括与(&)、或(|)、异或(^)和非(~)四种基本运算。 2. **位运算符详解**: - **按位与(&)**:对应位上都是1时结果才为1,否则为0,类似于逻辑与。在灯光开关的例子中...

    位运算.pdf

    2. 按位或(|):如果两个操作数的对应位至少有一个是1,则结果的对应位为1,否则为0。例如,01101101 | 00110111 = 01111111。 3. 按位异或(^):如果两个操作数的对应位不同,则结果的对应位为1,相同则为0。...

    xor.rar_XOR_vc crc xor_xor crc_异或_异或校验

    在这个“xor.rar_XOR_vc_crc_xor_xor_crc_异或_异或校验”的压缩包中,我们可以推测其包含的C++代码是关于如何使用异或运算来实现CRC校验的实例。 异或运算,全称为“Exclusive OR”,它的特点是对两个二进制位进行...

    位运算 (2).pdf

    2. **按位或(|)**:只要两个对应的二进制位中有任意一个为1,结果位就是1。按位或常用于设置或激活某位,或者合并多个标志位。 3. **按位异或(^)**:若两个对应的二进制位相同,结果为0;若不同,则结果为1。异或...

    C++ 二进制运算

    本文将深入探讨C++中的二进制运算,包括按位与、按位或、按位异或、按位取反以及移位运算等核心操作,并通过具体实例来阐述它们的工作原理及应用场景。 #### 按位与运算 (&) 按位与运算符`&`用于比较两个数的二...

Global site tag (gtag.js) - Google Analytics