Java中的管道(|)运算符

我在Java中有以下语句:


System.out.println(3|4); 

为什么输出7?


海绵宝宝撒
浏览 329回答 3
3回答

GCT1015

这是按位或运算。它在二进制级别上进行修改。             011                     3in binary: | 100     in decimal:  |  4             ___                   ___             111                     7使用科学模式打开Windows calc。您可以在十进制和二进制(和十六进制)之间切换,并执行按位运算,包括or,and,xor等。要按位排列或在您的头部或纸上进行比较,请比较同一序数的每个数字。如果任一数字为1,则该序数的结果将为1。

HUWWW

运算符|执行“按位或”。如果任一位为1,则两个位的按位OR的输出为1;如果两个位均为0,则输出为0。两个数字的按位OR分别对每个位进行按位OR。这是3|4工作原理:  3:  00000011  4:  00000100--------------3|4:  00000111 = 7

繁星coding

二进制表示形式: 3 = 00000011 4 = 00000100| is bitwise OR operator当您对两个数字进行或运算时,您将采用二进制表示形式,并且该列的OR结果为1 IFF至少将一列设置为true(1)所以0000001100000100--------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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java