「java右移原理」java向右位移

博主:adminadmin 2022-11-25 05:37:07 88

本篇文章给大家谈谈java右移原理,以及java向右位移对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 中右移>>和逻辑右移>>的左操作数怎么运算的

0xa2 16进制,对应的十进制是162,对应的二进制是10100010(32位,前面的0不显示)

101000102 = 00101000 这个正好是十进制的40

(byte) 0xa2 由于byte的最大值是127,所以byte162要取模,结果是-94,对应的二进制是:11111111111111111111111110100010

11111111111111111111111110100010 2 = 11111111111111111111111111101000,即十进制-24

和的区别是:

带符号右移,高位补充符号,正0负1

不带符号右移,高位补充正0

有上面的记过得知,(byte) 0xa2 = -24这是个负数

所以(byte) 0xa22

会很大

java逻辑右移

2二进制表示为10,逻辑右移两位即为0。

逻辑右移(),无论什么时候都在左填0。而算术右移()则在左填符号位,符号位若为0则与逻辑右移结果一致,符号位为1则不一致。

Java 中 算术右移和逻辑右移有什么区别

逻辑右移就是不用考虑最高位的符号位,只需要在移动之后的空位补0就行了,例如

初始数据:

1111

1111

右移一位:

0111

1111

最高位补0

算术右移则是要考虑符号位,如果最高位为1、则移动后在最高位补1、若最高位不为1,则移动后在最高位补0,例如

初始数据,最高位为1:

1111

1001

右移一位

1111

1100

初始数据,最高位不为1:

0111

1001

右移一位

0011

1100

java 左右移的问题,

左移就是将原来的参数所有二进制位向左移动指定的位数,本例中就是移动二位,然后末尾以零补齐。右移正好相反,向右边移动指定位数,然后左边以零补齐。

教你个简单的计算方法,以本例来说,左移就是将原数乘以2的2次方(4)。右移就是原数除以2的2次方(4)。就是最后的结果。

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

The End

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