Anz*_*wur 40 java bit-manipulation bit
我正在阅读一些代码示例,并&在他们的Bitwise和Bit Shift Operators页面上看到了Oracle的网站.在我看来,对于解释按位的工作并没有做得太好&.我明白它直接对该位进行操作,但我不确定是什么样的操作,我想知道该操作是什么.以下是我从Oracle网站上获得的一个示例程序:http://docs.oracle.com/javase/tutorial/displayCode.html?code = http://docs.oracle.com/javase/tutorial/java/nutsandbolts/实例/ BitDemo.java
Mar*_*rot 62
整数表示为存储器中的位序列.对于与人类的交互,计算机必须将其显示为十进制数字,但所有计算都以二进制形式执行.123十进制数存储1111011在内存中.
该&操作是按位"与".结果是两个数字都打开的位.1001 & 1100 = 1000因为只有第一位在两者中都打开了.
该|操作是按位"或".结果是在任一数字中打开的位.1001 | 1100 = 1101因为只有右边的第二位在两者中都是零.
还有^和~运算符,分别是按位"Xor"和按位"不".最后,还有<<,>>和>>>移动运营商.
在引擎盖下,123存储为系统01111011 00000000 00000000 00000000或00000000 00000000 00000000 01111011根据系统.使用按位运算符,使用哪种表示无关紧要,因为两个表示都被视为逻辑数00000000000000000000000001111011.剥去领先的零叶1111011.
它是一个二元AND运算符.它执行AND操作,该操作是布尔逻辑的一部分,布尔逻辑通常用于计算中的二进制数.
例如:
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
Run Code Online (Sandbox Code Playgroud)
您还可以对多位数执行此操作:
01 & 00 = 00
11 & 00 = 00
11 & 01 = 01
1111 & 0101 = 0101
11111111 & 01101101 = 01101101
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47348 次 |
| 最近记录: |