为了账号安全,请及时绑定邮箱和手机立即绑定

Java中的管道(|)运算符

Java中的管道(|)运算符

沧海一幻觉 2019-10-30 13:21:46
我在Java中有以下语句:System.out.println(3|4); 为什么输出7?
查看完整描述

3 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

这是按位或运算。它在二进制级别上进行修改。


             011                     3

in binary: | 100     in decimal:  |  4

             ___                   ___

             111                     7

使用科学模式打开Windows calc。您可以在十进制和二进制(和十六进制)之间切换,并执行按位运算,包括or,and,xor等。


要按位排列或在您的头部或纸上进行比较,请比较同一序数的每个数字。如果任一数字为1,则该序数的结果将为1。


查看完整回答
反对 回复 2019-10-30
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

运算符|执行“按位或”。如果任一位为1,则两个位的按位OR的输出为1;如果两个位均为0,则输出为0。两个数字的按位OR分别对每个位进行按位OR。


这是3|4工作原理:


  3:  00000011

  4:  00000100

--------------

3|4:  00000111 = 7


查看完整回答
反对 回复 2019-10-30
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

二进制表示形式:


 3 = 00000011

 4 = 00000100


| is bitwise OR operator

当您对两个数字进行或运算时,您将采用二进制表示形式,并且该列的OR结果为1 IFF至少将一列设置为true(1)


所以


00000011

00000100

--------

00000111

然后,列会告诉您该位置的值:


128, 64, 32, 16, 8, 4, 2, 1

所以


128, 64, 32, 16, 8, 4, 2, 1

 0 ,  0,  0,  0, 0, 1, 1, 1  

任何带有1的列都意味着您要添加该列的值:


4 + 2 + 1 = 7


查看完整回答
反对 回复 2019-10-30
  • 3 回答
  • 0 关注
  • 805 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信