`

(转)Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)

    博客分类:
  • java
 
阅读更多

 

 

 

位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。

 

 

 


1.与运算符
与运算符用符号“&”表示,其使用规律如下:
两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。
public class data13
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 与的结果是:"+(a&b));
}
}
运行结果
a 和b 与的结果是:128
下面分析这个程序:
“a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。

 

 

 


2.或运算符
或运算符用符号“|”表示,其运算规律如下:
两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。
public class data14
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 或的结果是:"+(a|b));
}
}
运行结果
a 和b 或的结果是:129
下面分析这个程序段:
a 的值是129,转换成二进制就是10000001,而b 的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。

 

 

 


3.非运算符
非运算符用符号“~”表示,其运算规律如下:

 

如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。
public class data15
{
public static void main(String[] args)
{
int a=2;
System.out.println("a 非的结果是:"+(~a));
}
}

 

 

 


4.异或运算符
异或运算符是用符号“^”表示的,其运算规律是:
两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个简单的例子。
public class data16
{
public static void main(String[] args)
{
int a=15;
int b=2;
System.out.println("a 与 b 异或的结果是:"+(a^b));
}
}
运行结果
a 与 b 异或的结果是:13
分析上面的程序段:a 的值是15,转换成二进制为1111,而b 的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101 即13。

 

 

 

 

 

分享到:
评论

相关推荐

    C语言按位运算符详解

    ### C语言按位运算符详解 #### 一、引言 在C语言中,按位运算符是一类非常重要的操作符,它们直接作用于整数的二进制表示上,通过对单个比特位进行操作来实现特定的功能。这对于低级编程、硬件控制以及优化算法等...

    java位运算符

    ### Java位运算符详解 在Java编程语言中,位运算符是用于操作整数类型数据在二进制级别上的特定位的工具。这些运算符直接作用于整数类型的二进制表示,对于处理低级别的计算任务非常有用。下面将详细介绍Java中的四...

    Python3.5运算符操作实例详解

    包括按位与(`&`)、按位或(`|`)、按位异或(`^`)、按位取反(`~`)、左移(`)和右移(`>>`)。 ```python num = 5 print(bin(num)) # 输出二进制形式 n1 = 7 n2 = 11 print(n1 & n2) # 按位与 print(n1 | n2) # 按位或 ...

    Java运算符优先级

    ### Java运算符优先级详解 在Java编程语言中,了解并正确使用运算符优先级对于构建高效、可读性强的程序至关重要。虽然建议在实际开发过程中通过使用括号来明确表达式的计算顺序,而非依赖于复杂的优先级规则,但...

    Java程序设计基础:运算符与表达式.pptx

    #### 四、具体运算符详解 - **算术运算符**: - `+`:加法运算。 - `-`:减法运算。 - `*`:乘法运算。 - `/`:除法运算。 - `%`:取模运算,返回除法的余数。 - **自增自减运算符**: - `++`:自增运算符,...

    C语言运算符优先级详细列表与说明.docx

    - 按位与运算的优先级高于按位异或运算,按位异或运算的优先级高于按位或运算。 7. **逻辑运算符**: - `&&`:逻辑与运算。 - `||`:逻辑或运算。 - 逻辑与运算的优先级高于逻辑或运算。 8. **条件运算符**: ...

    C语言学习戏了

    位操作运算符,如位与(&), 位或(|), 位非(~), 位异或(^), 左移()和右移(>>), 这些运算符在处理二进制数据时非常有用,可以对变量的二进制位进行操作。 赋值运算符,如简单赋值(=), 算术赋值(+=, -=, *=, /=, %=), ...

    51单片机汇编语言教程:13课单片机逻辑与或异或指令详解.zip

    本教程主要聚焦于51单片机中的逻辑与、逻辑或以及逻辑异或指令,这些指令是进行位操作的基础,广泛应用于数字电路设计、数据处理和控制系统的开发中。 一、逻辑与(AND)指令 逻辑与运算符在51单片机汇编语言中...

    java开发人员常见的面试题

    ### Java开发人员常见面试题详解 #### 一、CoreJava:基础及语法 **1. 面向对象的特征有哪些方面?** 面向对象编程(OOP)的核心特征主要包括以下几点: 1. **抽象**(Abstraction): 抽象是指在设计阶段只考虑与当前...

    50个Python练习

    按位运算包括按位与 (&)、按位或 (|)、按位异或 (^) 和按位取反 (~) 等。 * 按位与 (&):将两个数字对应的二进制位进行AND运算,如果两个位都是1,则结果为1,否则为0。 例如,实例1展示了如何使用按位与 (&) ...

    JAVA经典语句总结

    位运算符详解** - **~**:按位取反运算符。它将操作数的每一位进行取反操作,即0变1,1变0。 - **&**:按位与运算符。两个对应位都为1时,结果才为1;否则为0。 - **^**:按位异或运算符。两个对应位相同时,...

    java程序员笔试题

    从给定的文件信息中,我们可以总结出一系列与Java编程相关的知识点,这些知识点不仅涵盖了Java的基本语法、数据类型、运算符、控制结构,还涉及到了更深入的主题如编译过程、面向对象特性以及异常处理等。...

    c语言开发实例详解

    10. **位运算**:C语言提供了丰富的位运算符,如按位与(&), 按位或(|), 按位异或(^)等,这对于低级编程和理解计算机底层工作原理非常有用。 11. **实践项目**:教程最后可能包含一些综合性项目,如实现简单的数据...

    51单片机C语言运算符表

    - `|`(按位或):参与运算的两个值,如果两个相应位至少有一个为1,则该位的结果为1。 - `^`(按位异或):参与运算的两个值,如果两个相应位相同,则该位的结果为0;否则为1。 - `~`(按位取反):对数值的每个二进制...

    java入门资料

    ### Java入门资料:数据类型、常量与变量、运算符详解 #### 数据类型概览 在Java编程语言中,数据类型扮演着至关重要的角色,它不仅定义了变量所能存储的数据种类,还决定了变量如何被使用和操作。Java不支持C和...

    C语言运算符的优先级和结合性实例详解

    6. 位运算符:如&(按位与)、|(按位或)、^(按位异或)、~(按位非)、(左移)、>>(右移),这些用于操作二进制级别的数据。 7. 条件运算符(三目运算符):? :,用于根据条件返回不同的值,如`condition ? ...

    java学习笔记-基础

    - 位运算符:`&`(按位与)、`|`(按位或)、`^`(按位异或)、`~`(按位取反)、`(左移)、`>>`(右移)、`>>>`(无符号右移)。 #### 七、Java对象与引用 Java中,对象是类的实例,而引用则是指向对象的变量。...

    delphi运算符列表

    ### Delphi 运算符详解 #### 一、概述 Delphi是一种强大的编程语言,它提供了丰富的运算符来处理各种数据类型的操作。本文将详细介绍Delphi中的运算符,包括算术运算符、布尔运算符、逻辑运算符、字符串运算符、...

    单片机c语言位操作

    #### 二、位运算符详解 **1. 按位与运算符 (&)** - **含义**:参加运算的两个数据,按二进位进行“与”运算。 - **原理**:全1为1, 有0为0。 - **示例**: - `a = 5 & 3;` // 结果为1 - `a = -5 & -3;` // 结果...

Global site tag (gtag.js) - Google Analytics