转载:http://blog.csdn.net/lftx4080/archive/2008/01/03/2024091.aspx
最近的工作需要大量的采用位操作符的代码。其实项目本身没有这样的需求,不过现在我的职责是维护同事的代码,而这位同事的偏好是采用位操作,没办法学习了。
无符号右移位操作符“>>>”在将bit串右移位时,从bit串的最左边填充0,这和带符号右移位操作符“>>”不同。“>>”在将bit串右移位时,从bit串的最左边填充原来最左边的位。也就是说,bit串原来最左边的位是符号位,如果为1,则在带符号右移时最左边始终填充1;如果为0,则在带符号右移时最左边始终填充0。3GEYEn x,d.C2z[
移位操作符的例子见下表。
操作 |
结果 |
说明 |
00110010 << 2 |
11001000 |
右边始终填充0 |
00110010 >> 2 |
00001100 |
结果一样 |
00110010 >>> 2 |
00001100 |
10110010 >> 2 |
11101100 |
结果不同 |
10110010 >>> 2 |
00101100 |
“按位与”操作符“&”对两个bit串按位进行逻辑与,“按位或”操作符“|”对两个bit串按位进行逻辑或,“按位异或”操作符“^”对两个bit串按位进行异或操作。运算规则如下表所示。
按位与 |
按位或 |
按位异或 |
0 & 0 = 0 |
0 | 0 = 0 |
0 ^ 0 = 0 |
0 & 1 = 0 |
0 | 1 = 1 |
0 ^ 1 = 1 |
1 & 0 = 0 |
1 | 0 = 1 |
1 ^ 0 = 1 |
1 & 1 = 1 |
1 | 1 = 1 |
1 ^ 1 = 0 |
分享到:
相关推荐
Java 操作符与变量初始化是编程中至关重要的概念,它们直接影响到代码的正确性和效率。在 Java 中,操作符用于执行特定的操作,如比较、算术运算或逻辑运算,而变量初始化则是确保变量具备合适初始值的过程。 1. **...
Java编程语言中的操作符是程序设计中的重要组成部分,它们用于执行特定的数学或逻辑运算,帮助我们...动力节点的这20页总结,全面覆盖了Java操作符的基础知识,对于初学者和有经验的开发者来说,都是很好的参考资料。
在Java编程语言中,操作符的优先级和结合性是理解和编写正确...总的来说,理解Java操作符的优先级和结合性是提高代码可读性和减少错误的关键。通过熟练掌握这些规则,开发者可以更有效地构建和维护他们的Java应用程序。
在这个"操作符学习案例"中,我们将深入探讨Java语言中的各种操作符及其用法,通过分析`OperatorTest.java`这个源码文件来加深理解。 首先,我们要了解Java中的主要操作符类型: 1. **算术操作符**:这些操作符用于...
理解并熟练运用这些操作符,可以帮助开发者编写出更简洁、更高效的Java代码。在实际编程中,要时刻注意操作符的优先级,以避免出现错误的结果。同时,合理使用操作符可以减少代码量,提高代码可读性,使程序更加清晰...
Java的位操作符是编程语言中用于直接操纵...总的来说,理解并熟练运用Java的位操作符和三元操作符可以提高代码的效率和可读性,尤其是在处理底层数据结构和算法时。在编写高性能的Java程序时,这些工具是不可或缺的。
左移操作符()是位运算符之一,它在Java中有着特定的应用和理解。本篇文章将深入探讨Java中的左移操作符及其相关知识点。 一、位运算符概述 位运算符直接作用于二进制位,它们包括:左移(),右移(>>),无符号...
在Java编程语言中,关系操作符是用于比较两个值之间关系的关键字。这些操作符帮助开发者确定变量或表达式之间的大小、相等性或其他关系。...在学习和使用Java时,理解并恰当应用这些操作符是非常关键的。
例如,钻石操作符`<>`在创建匿名内部类或使用泛型构造函数时,可以自动推断出类型参数。 3. **字符串改进**:在Java 7中,字符串可以更方便地进行拼接,新的`String.join()`方法允许你用指定的分隔符连接多个字符串...
“操作符不能应用于某类型”的错误是Java编程中的常见问题,它涉及到类型匹配、可变参数的正确使用和类型转换等多个方面。通过仔细检查代码、理解Java的类型系统和API,以及遵循Java编程规范,我们可以有效地避免和...
此外,Java 7还引入了“钻石操作符”(),在创建泛型实例时,编译器可以自动推断类型参数,减少了冗余代码。 Java 7在并发编程方面也有所增强,推出了Fork/Join框架,这是基于工作窃取算法的一种并行计算框架。它...
本篇文章将深入探讨Java中的位运算,包括其基本概念、常用操作符以及实际应用。 一、位运算的基本概念 在计算机内部,所有的数据都是以二进制形式存储的。位运算就是对这些二进制位进行操作。一个整数在计算机内存...
本文将详细讨论针对Windows 32位操作系统的Java安装包,以及如何进行安装。 标题"java安装包(windows 32位)"指的是专门为32位Windows系统设计的Java Development Kit(JDK)的安装程序。JDK是Java编程的基础,它...
Java修饰符是编程中至关重要的概念,它们用于定义类、接口、变量...理解并熟练运用这些修饰符是成为Java开发高手的关键步骤之一。在实际编程中,应根据需求选择合适的访问级别和行为特性,以实现高效、安全的代码设计。
在Java编程语言中,占位符是一个非常常见的概念,它用于在字符串模板中预留位置,以便在运行时插入动态内容。通常,我们有多种方法来实现这个功能,每种方法都有其特定的适用场景和性能特点。本篇文章将对三种常用的...
总的来说,理解Java中的换行符对于编写清晰、可移植的文本处理代码至关重要。使用“\n”、"\r\n"或`System.lineSeparator()`取决于具体需求和目标平台,以确保代码在不同环境下都能正常工作。在实际开发中,推荐使用...
1. **按位与(&)**: 这个操作符比较两个数的每个位,如果两个位都是1,则结果的相应位上为1,否则为0。这种运算常用于设置或清除特定位,例如在位掩码操作中。 2. **按位或(|)**: 对于两个数的每个位,如果至少有一...
左移位操作符(`)将操作数的所有位向左移动指定的位数,高位丢弃,低位补0。例如: ```java public class LeftMoving { public static void main(String[] args) { System.out.println("5(5 )); } } ``` 输出...
作者以易于理解的方式深入揭示了java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益! 本书共分20章,第1-4章解释了java虚拟机的体系结构,包括java栈、堆、方法区、执行...