gpt4 book ai didi

java - Java 中的按位与 (AND) 是如何工作的?

转载 作者:太空宇宙 更新时间:2023-11-04 11:26:55 25 4
gpt4 key购买 nike

我正在阅读一些代码示例,并在 Oracle 网站的按位和移位运算符页面上发现了一个 &。在我看来,它并没有很好地解释按位&。我知道它直接对位进行操作,但我只是不确定是什么样的操作,我想知道该操作是什么。这是我从 Oracle 网站上获取的示例程序:http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/java/nutsandbolts/examples/BitDemo.java

最佳答案

整数在内存中表示为位序列。为了与人类交互,计算机必须将其显示为十进制数字,但所有计算都是以二进制形式进行的。 123十进制存储为 1111011内存中。

&运算符是按位“与”。结果是两个数字中都打开的位。 1001 & 1100 = 1000 ,因为两者中仅打开了第一位。

|运算符是按位“或”。结果是任一数字中打开的位。 1001 | 1100 = 1101 ,因为两者中只有从右边算起的第二位为零。

还有^~运算符,分别是按位“异或”和按位“非”。最后还有<< , >>>>>移位运算符。

<小时/>

在幕后,123存储为 01111011 00000000 00000000 0000000000000000 00000000 00000000 01111011取决于系统。使用按位运算符时,使用哪种表示形式并不重要,因为两种表示形式都被视为逻辑数 00000000000000000000000001111011 。去掉前导零叶子 1111011

关于java - Java 中的按位与 (AND) 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44261890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com