`

(转)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的、、&、&&、异或、-、!运算.pdf

    C的&、&&、~、!、^、|、>>、<<运算符详解及其作用

    C的|、||、&、&&、异或、~、!运算符

    位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反运算符是单目运算符,其余均为双目运算符。 位运算符的优先级从高到低,依次为~、&、^、|, 其中~的结合方向自右至左,且优先级...

    C++中的按位与&、按位与或|、按位异或^运算符详解

    主要介绍了C++中的按位与&、按位与或|、按位异或^运算符,是C++入门学习中的基础知识,需要的朋友可以参考下

    详解“& 按位与 | 按位或 ^ 按位异或”

    文章详解详解“& 按位与 | 按位或 ^ 按位异或”。

    6.第六章 运算符与表达式.txt

    位操作运算符:位与&、位或|、位非~、位异或^、左移、右移>> 赋值运算符:=、复合算术运算赋值(+=、-=、*=、/=、%=)、复合位运算赋值(&=、|=、^=、、>>=) 条件运算符:?: 逗号运算符:, 指针运算符:取地址...

    哈尔滨工业大学计算机系统实验2-DataLab 数据表示

    1.1实验目的 通过对Linux下编码的练习,熟练掌握计算机系统的数据表示与数据运算,通过C程序深入理解计算机运算器的底层实现与优化,掌握Linux下makefile与GDB的使用。...有符号型:位级运算:|或,&与,~非,^异或

    Java运算符介绍.pptx.pptx

    Java运算符分类 Java运算符主要分为四类:算术运算符、关系运算符、逻辑运算符和位运算符,这些运算符...位运算符主要用于处理二进制数据,包括与、或、非、异或和移位等操作,它们可以实现对数据的快速处理和转换。

    Java逻辑运算符

    Java中的逻辑运算符包括逻辑与&,逻辑或|,逻辑非!逻辑异或^,除此之外还有几个比较相似的&&短路与,||短路或。  那么这几个逻辑运算符到底有什么意思呢?下面我们来看看  首先看逻辑与&的用法,只有两个都为真...

    第9讲 位运算与常用库函数1

    第九章 位运算与常用库函数C++帮我们实现好了很多有用的函数,我们要避免重复造轮子。——闫学灿位运算& 与| 或~ 非^ 异或>> 右移左移常用操作:(1

    python中逻辑与或(and、or)和按位与或异或(&、|、^)区别

    按位与或(&、|、^):按照二进制进行逻辑运算 例如:数字换成二进制,各自位上的0/1进行逻辑运算,得到的结果转换为数字 3 & 2 =0111 & 0010 =0010 =2 二进制逻辑运算规则: &:0&0=0; 0&1=0; 1&0=0; 1&1=1。 |...

    杂类:位运算、 地线、初始化串口,baud的计算

    位运算 二进制位的运算,常用于汇编语言 & 与 | 或 ^ 异或 ~ 取反 左移n位 乘以2的n次方 >> 右移n位 除以2的n次方 初始化串口,baud的计算, F是系统时钟频率32M, (256+216)*2^10*32000000/2^28 = 57600 U0GCR |=...

    java位运算符

    java位运算符“与”、“非”、“或”、“异或”。

    NOIP2018提高组初赛复习

    9 ^ 按位异或 表达式^表达式 左到右 双目运算符 10 | 按位或 表达式|表达式 左到右 双目运算符 11 && 逻辑与 表达式&&表达式 左到右 双目运算符 12 || 逻辑或 表达式||表达式 左到右 双目运算符 13 ?: 条件运算符 ...

    2.Java基础语法.ppt

    短路或 || 短路或与逻辑或 结果一模一样。只要第一个操作数是true,那么第二个就不用计算,结果就是true。同样为了提高效率。 3.关系运算符(>,<,>=,,==,!=) ==:比较变量时是判断数值是否相等;比较引用...

    C语言位运算符:与、或、异或、取反、左移和右移.docx

    C语言位运算符:与、或、异或、取反、左移和右移.docx

    C语言位运算符与或异或取反左移和右移.pdf

    C语言位运算符与或异或取反左移和右移.pdf

    C语言位运算+实例讲解

    按位与& &运算常应用于: 迅速清零 保留指定位 判断奇偶性 a & 1 = 1;则a为奇数 b & 1 = 0;则a为偶数 按位或| 按位或(“|”)用途:设定数据的指定位 按位异或^ 异或 就是位相同等于零,相异等于1 按...

Global site tag (gtag.js) - Google Analytics