java逻辑右移

Python012

java逻辑右移,第1张

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

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

>>这个是带符号右移

>>>这个是无符号右移

-1的二进制反码表示为 11111111 11111111 11111111 11111111

-1>>1的结果是 : 1111111 1111111 11111111 1111111

-1>>>1的结果是: 01111111 11111111 1111111 11111111

无符号右移后前面补0,而带符号右移是补符号位,也就 是第一位,负数补1,正数补0

Java的优点:

java是纯面向对象编程的语言;

平台无关性 (一次编译,到处运行;Write Once,Run Anywhere);

java提供了许多内置的类库,通过这些类库,简化了开发人员的设计工作,同时缩短了项目开发时间;

提供了对Web应用开发的支持,例如,Applet,Servlet,和JSP可以用来开发Web应用程序,Socket,RMI可以用来开发分布式应用程序的类库。

首先纠正一个错误哈..

>>是带符号右移

>>>才是无符号右移..

带符号右移就是将那个数转为2进制然后在前面补0或1

如果是正数就补0

负数补1

例如11

>>

2,则是将数字11右移2位

计算过程:

11的二进制形式为:0000

0000

0000

0000

0000

0000

0000

1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000

0000

0000

0000

0000

0000

0000

0010。转换为十进制是2。

其他的

到网上一搜就有了。。

无符号右移与带符号右移的区别就是

无符号始终补0