当前位置:首页 » 编程语言 » java位移运算符

java位移运算符

发布时间: 2025-07-26 20:59:19

java中 << 什么意思比如1<<30,谢谢哦~~

是位移运算服, <<左移运算,>>右移运算,还有不带符号的位移运算 >>>.

左移的运算规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。

计算过程已1<<30为例,首先把1转为二进制数字0000 0000 0000 0000 0000 0000 0000 0001

然后将上面的二进制数字向左移动30位后面补0得到0010 0000 0000 0000 0000 0000 0000 0000

最后将得到的二进制数字转回对应类型的十进制

另外两种的运算规则为

>>运算规则:按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1.

>>>运算规则:按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同

❷ JAVA位运算怎么用的

Java 位运算 Java 位运算[转]一,Java 位运算1.表示方法:在Java语言中,二进制数使用补码表示,最高位为符号位,正数的符号位为0,负数为1。补码的表示需要满足如下要求。(l)正数的最高位为0,其余各位代表数值本身(二进制数)。(2)对于负数,通过对该数绝对值的补码按位取反,再对整个数加1。2.位运算符位运算表达式由操作数和位运算符组成,实现对整数类型的二进制数进行位运算。位运算符可以分为逻辑运算符(包括~、&、|和^)及移位运算符(包括>>、<<和>>>)。1)左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)。2)“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。3)Java也添加了一种“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位插入0。这一运算符是C或C++没有的。
public class Test3 {
public static void main(String[] args)
{
int i=4;
System.out.println(~i);//-5 (i的二进制为0100
System.out.println(~i&i);//0
System.out.println(~i|i);//-1
System.out.println(i>>2);//1
System.out.println(i<<2);//16
System.out.println(i>>>2);//1
System.out.println(-i>>2);//-1
System.out.println(-i>>>2);//1073741823
}
}

❸ Java移位运算符问题

有符号右移会保留最高位的符号位,从次高位开始逐位右移填0;而无符号右移会将符号位一起右移,并将高位全部填0。
例:对于一个byte类型的数10010100来说,有符号右移2位变为10000101,而无符号右移2位变为00100101。前者仍然是一个负数,而后者变成了正数。
左移只有有符号的,没有无符号左移。

❹ java移位运算符>>>和>>的区别

“>> 右移,高位补符号位” 这里右移一位表示除2
“>>> 无符号右移,高位补0”; 与>>类似
“<< 左移” 左移一位表示乘2,二位就表示4,就是2的n次方

热点内容
怎么解压游戏压缩包 发布:2025-07-27 07:14:28 浏览:843
电子存储设备包括 发布:2025-07-27 07:13:52 浏览:146
linuxoracle配置 发布:2025-07-27 07:08:46 浏览:519
php打印pdf 发布:2025-07-27 07:07:19 浏览:74
七源码 发布:2025-07-27 06:55:50 浏览:45
水密码什么面膜好 发布:2025-07-27 06:55:48 浏览:973
荒野行动脚本吧 发布:2025-07-27 06:53:15 浏览:160
遗传算法的交叉概率 发布:2025-07-27 06:40:10 浏览:282
求中位数算法 发布:2025-07-27 06:39:33 浏览:537
手机解压利器怎么用 发布:2025-07-27 06:37:58 浏览:622