2016 - 2024

感恩一路有你

二进制移位运算详解 为什么这两个运算不一样?

浏览量:2323 时间:2021-04-11 19:24:52 作者:admin

为什么这两个运算不一样?

Java中有三种移位运算符:shift right operator,Num>>;1,相当于Num除以2>>;shift right without sign,ignore sign bit,用0补空。让我们看看这些移位运算符是如何使用的。Number=10number=Number> 1printinfo(}运行结果为:1010101001010。让我们对齐上面的结果:43210位数:1010小数点:10原始数字:10100小数点:20左移一位数=数字>;1看上面的演示,你现在对左移和右移了解很多吗?>>;for:shift right without sign,ignore sign bit,空位填充0 value>>>> num--num指定要移位的值要移动的位数。无符号右移规则只记住一件事:有符号位扩展被忽略,0补码最高位无符号右移运算符>>>;只对32位和64位值有意义

例如:11111 001<<;111111 0001111011<<;411110000右移有点麻烦,如下:>>N是这样操作的:右移n位,如果高位是1,则左补码1;如果高位是0,则左补码0(Java是这样的,C语言,如果高位是1,则右补码0或1取决于硬件)例如:11111 001>>11111110001111011>>100111101>>>>;GTN的操作如下:将n位右移,无论高位是0还是1,都补码0,例如:11111 001>>1011110011111011>>100111101

二进制移位运算详解 java中的移位运算 java右移位简便运算

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。