「java有位运算符」java有位运算符吗
今天给各位分享java有位运算符的知识,其中也会对java有位运算符吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA位运算符
- 2、java中的按位运算符(& | ^ ~)在项目中会用的多吗,都做什么运算用的
- 3、JAVA编程 位运算符 问题
- 4、什么是Java的位运算符?
- 5、Java中位运算符的具体应用是什么,在实际编程中有什么作用
- 6、求:JAVA中常用位运算符及其用法详解
JAVA位运算符
与操作符:
同一位都为1,才为1,比如 56 = 4
101
110
= 100
或操作符: |
只要一个数为1,此位变为1,比如 5|6 = 7
101
110
= 111
异或操作: ^
当两个数某一位不同时,为1 5^6 = 3
101
110
= 011
取反操作: ~
0变1,1变0 ~6 = 1
~ 110
= 001
java中的按位运算符(& | ^ ~)在项目中会用的多吗,都做什么运算用的
和| 没的说,用的很频繁,一般做循环操作或者if判断的时候很多用,
^ ~ 更多用于底层,众所周知,如果你打算应用开发的话,一般不设计的。
JAVA编程 位运算符 问题
这是在二进制下的比较
a=129在二进制下是1000 0001
b=128在二进制下是1000 0000
这两段二进制数中的每一个0或者每一个1就是一个位
这两个对其比较都为1的话结果为1,其他情况为0
希望我的回答对你有帮助
什么是Java的位运算符?
位运算符用来对二进制位进行操作,位
运
算
符
(>>,<<,>>>,,|,^,~
)
,位运
算
符
中
,除
~
以
外
,其余
均
为
二
元
运
算
符
。
操
作
数
只
能
为
整
型
和字
符
型
数
据
。
比如‘’
这个就相当于乘以2.
Java中位运算符的具体应用是什么,在实际编程中有什么作用
位逻辑运算符有“与”(AND)、“或”(OR)、“异或(XOR)”、“非(NOT)”,分别用“”、“|”、“^”、“~”表示。
下面的例子说明了位逻辑运算符:
//
Demonstrate
the
bitwise
logical
operators.
class
BitLogic
{
public
static
void
main(String
args[])
{
String
binary[]
=
{
"0000",
"0001",
"0010",
"0011",
"0100",
"0101",
"0110",
"0111",
"1000",
"1001",
"1010",
"1011",
"1100",
"1101",
"1110",
"1111"
};
int
a
=
3;
//
+
2
+
1
or
0011
in
binary
int
b
=
6;
//
4
+
2
+
or
0110
in
binary
int
c
=
a
|
b;
int
d
=
a
b;
int
e
=
a
^
b;
int
f
=
(~a
b)
|
(a
~b);
int
g
=
~a
0x0f;
System.out.println("
a
=
"
+
binary[a]);
System.out.println("
b
=
"
+
binary[b]);
System.out.println("
a|b
=
"
+
binary[c]);
System.out.println("
ab
=
"
+
binary[d]);
System.out.println("
a^b
=
"
+
binary[e]);
System.out.println("~ab|a~b
=
"
+
binary[f]);
System.out.println("
~a
=
"
+
binary[g]);
}
}
在本例中,变量a与b对应位的组合代表了二进制数所有的
4
种组合模式:0-0,0-1,1-0,和1-1。“|”运算符和“”运算符分别对变量a与b各个对应位的运算得到了变量c和变量d的值。对变量e和f的赋值说明了“^”运算符的功能。字符串数组binary代表了0到15对应的二进制的值。在本例中,数组各元素的排列顺序显示了变量对应值的二进制代码。数组之所以这样构造是因为变量的值n对应的二进制代码可以被正确的存储在数组对应元素binary[n]中。例如变量a的值为3,则它的二进制代码对应地存储在数组元素binary[3]中。~a的值与数字0x0f
(对应二进制为0000
1111)进行按位与运算的目的是减小~a的值,保证变量g的结果小于16。因此该程序的运行结果可以用数组binary对应的元素来表示。
求:JAVA中常用位运算符及其用法详解
位运算符
位运算是以二进制位为单位进行的运算,其操作数和运算结果都是整型值。
位运算符共有7个,分别是:位与()、位或(|)、位非(~)、位异或(^)、右移()、左移()、0填充的右移()。
位运算的位与()、位或(|)、位非(~)、位异或(^)与逻辑运算的相应操作的真值表完全相同,其差别只是位运算操作的操作数和运算结果都是二进制整数,而逻辑运算相应操作的操作数和运算结果都是逻辑值。
位运算示例
运算符 名称 示例 说明
位与 xy 把x和y按位求与
| 位或 x|y 把x和y按位求或
~ 位非 ~x 把x按位求非
^ 位异或 x^y 把x和y按位求异或
右移 xy 把x的各位右移y位
左移 xy 把x的各位左移y位
右移 xy 把x的各位右移y位,左边填0
举例说明:
(1)有如下程序段:
int x = 64; //x等于二进制数的01000000
int y = 70; //y等于二进制数的01000110
int z = xy //z等于二进制数的01000000
即运算结果为z等于二进制数01000000。位或、位非、位异或的运算方法类同。
(2)右移是将一个二进制数按指定移动的位数向右移位,移掉的被丢弃,左边移进的部分或者补0(当该数为正时),或者补1(当该数为负时)。这是因为整数在机器内部采用补码表示法,正数的符号位为0,负数的符号位为1。例如,对于如下程序段:
int x = 70; //x等于二进制数的01000110
int y = 2;
int z = xy //z等于二进制数的00010001
即运算结果为z等于二进制数00010001,即z等于十进制数17。
对于如下程序段:
int x = -70; //x等于二进制数的11000110
int y = 2;
int z = xy //z等于二进制数的11101110
即运算结果为z等于二进制数11101110,即z等于十进制数-18。要透彻理解右移和左移操作,读者需要掌握整数机器数的补码表示法。
(3)0填充的右移()是不论被移动数是正数还是负数,左边移进的部分一律补0。
关于java有位运算符和java有位运算符吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-18,除非注明,否则均为
原创文章,转载请注明出处。