「java位计算」java位与

博主:adminadmin 2022-12-07 20:30:06 69

今天给各位分享java位计算的知识,其中也会对java位与进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 位运算

我的分析是建立在A、B、C三步彼此独立的情况下:

int b1 = 1; b1在计算机的二进制为0000 0000 0000 0000 0000 0000 0000 0001

int b2 = -1;b2在计算机的二进制为 1111 1111 1111 1111 1111 1111 1111 1111

和 是算术位移符,是逻辑位移符

算术位移符和逻辑位移符的区别是:右移时,算术位移左边补符号位,逻辑位移左边补0;左移时,二者没有区别,都是在右边补0。

b1 = 31 == 0000 0000 0000 0000 0000 0000 0000 0001 31 == 1000 0000 0000 0000 0000 0000 0000 0000 == -2147483648

b1 = 31 == 0000 0000 0000 0000 0000 0000 0000 0001 31 == 0000 0000 0000 0000 0000 0000 0000 0000 == 0

b2 = 31 == 1111 1111 1111 1111 1111 1111 1111 1111 31 == 1000 0000 0000 0000 0000 0000 0000 0000 == -2147483648

b2 = 31 == 1111 1111 1111 1111 1111 1111 1111 1111 31 == 1111 1111 1111 1111 1111 1111 1111 1111 == -1

b1 = 31 == 0000 0000 0000 0000 0000 0000 0000 0001 31 == 0000 0000 0000 0000 0000 0000 0000 0000 == 0

b2 = 31 == 1111 1111 1111 1111 1111 1111 1111 1111 31 == 0000 0000 0000 0000 0000 0000 0000 0001 == 1

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的位运算求解

42949672942147483247(后者为Java整型可存储最大整数),所以你这个数应该是声明应该是:

long num = 4294967294L;

那么此数的二进制码是:

0000 0000 0000 0000 0000 0000 0000 0000 01111111 11111111 11111111 11111111

用你声明的数值左移33位,它会变成一个负数。

关于java位计算和java位与的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-07,除非注明,否则均为首码项目网原创文章,转载请注明出处。