首页 > 编程知识 正文

java中的位运算符,java赋值运算符

时间:2023-05-04 04:09:59 阅读:152694 作者:2355

位运算符

sxdjj课程资料和演示(免费) (文末有资料链接) ) )。

位运算符是对二进制的各位进行运算的符号,专门用于数字0和1。 其次,Java的位运算符及其用法如表1所示。

表1位运算符

从表1可以看出,Java的位运算符本质上对二进制0和1进行运算,因此在使用位运算符时,将操作数转换为二进制形式进行位运算,然后将结果转换为目标进制。

下面通过一些具体示例详细介绍表2-10中描述的位运算符。 为了说明,以下所有运算都是对byte类型数(即字节大小数)的运算,具体如下:

1 .位运算符“”对运算中涉及的两个操作数进行二进制“按位与”运算。 如果同一位上的2个位全部为1,则该位的运算结果为1,否则为0。

例如,按位运算6和11时,与一个byte类型的数字6相对应的二进制数为00000110,与数字11相对应的二进制数为00001011,具体的运算过程如下。

00000110

00001011

————3——3——3433543—— -

00000010

运算结果为00000010,对应于十进制数值2。

2 .位运算符“|”对参与运算的两个操作数进行二进制“按位或”运算。 如果同一位上的2个位中有1个值为1,则该位的执行结果为1,否则为0。

例如,对6和11进行或运算。 具体的运算过程如下。

00000110

|

00001011

————3——3——3433543—— -

00001111

运算结果为00001111,对应于十进制数值15。

3 .位运算符“~”只对一个操作数操作,对二进制形式的操作数的每一位执行逆操作。 二进制位为0时,相反的值为1。 如果为1,则相反的值为0。

例如,逆运算6,具体运算过程如下。

~ 00000110

————3——3——3433543—— -

11111001

运算结果为11111001,对应于十进制数值-7。

4 .位运算符“^”对参与运算的两个操作数进行二进制异或运算,如果同一位上的两个二进制值相同,则为0,否则为1。

例如,对6和11进行异或运算,具体运算过程如下。

00000110

^

00001011

————3——3——3433543—— -

00001101

运算结果为00001101,对应于十进制数值13。

5 .位运算符“

例如,用二进制数表示byte型数字11为00001011,将其左移一位。 具体的运算过程如下。

00001011

————3——3——3433543—— -

00010110

运算结果为00010110,对应于十进制数值22。

6 .位运算符“将操作数二进制格式的所有位向右移动指定的位数。 运算时,左边的空格根据原来的数字符号位补0或1 (如果原来是负数则全部为1,如果是正数则全部为0 ),向右移动的部分舍去。

例如,用二进制数表示byte型数字11为00001011,将其向右移位1位。 具体运算过程如下。

00001011 1

————3——3——3433543—— -

00000101

运算结果为00000101,对应于十进制数值的5。

7 .位运算符“”是无符号右移,意味着将操作数二进制格式的所有二进制位向右移位指定位数,而与正数无关。 运算时,左边的空位全部补0 (不考虑原数的正负),右边去掉的部分舍去。

例如,用二进制数表示byte型的数字11为00001011,将其无符号地向右移动1位。 具体运算过程如下。

00001011 1

————3——3——3433543—— -

00000101

运算结果为00000101,对应于十进制数值的5。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。