`
yychao
  • 浏览: 97768 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 移位操作

阅读更多

java移位操作符号

java中三种移位操作:

  1. << : 向左移位,低位补零
  2. >> : 有符号右移:符号位为0时,高位补零;符号位为1时,高位补1
  3. >>> : 无符号右移:不管符号位是否为1,高位都补零;
java支持移位操作数据类型:int,long两种;char,byte,short 移位操作时,先转换为对应的int,再移位;

PS:
  1. java中负数采用补码表示
  2. int 移位只移动右侧操作数的低五位(0-31),防止无效移位
  3. long 移位只移动右侧操作数的低六位(0-63)
  4. >>> 移动 char,byte,short 表示的负数时,"零扩展"没有发生,得不到正确的值;例如:byte b=-1; b>>>=10;得到的值仍然为-1;


public class App
{
    public static void main( String[] args )
    {
    	int i = -1;
    	i >>>= 10;
    	System.out.println(i);
    	long l = -1;
    	l >>>= 10;
    	System.out.println(l);
    	short s = -1;
    	s >>>= 10;
    	System.out.println(s);
    	byte b = -1;
    	b >>>= 10;
    	System.out.println(b);

    	//result:
		// 4194303
		// 18014398509481983
		// -1
		// -1
    }
}

 

 

分享到:
评论

相关推荐

    java 移位操作符的使用

    Java中的移位操作符用于对二进制数进行左移()、右移(&gt;&gt;)和无符号右移(&gt;&gt;&gt;)操作。 左移()操作符:将一个数的所有位向左移动指定的位数,右侧空出的位用0填充。 右移(&gt;&gt;)操作符:将一个数的所有位向右移动...

    JAVA基础之java的移位运算

    因为Java 使用2的补码来存储负数,并且因为Java 中的所有整数都是有符号的,这样应用位运算符可以容易地达到意想不到的结果。例如,不管你如何打算,Java 用高位来代表负数。为避免这个讨厌的意外,请记住不管高位的...

    java基于移位操作实现二进制处理的方法示例

    主要介绍了java基于移位操作实现二进制处理的方法,结合实例形式分析了java针对二进制的移位操作处理技巧,需要的朋友可以参考下

    移位运算符

    移位运算符

    Thinking in java4(中文高清版)-java的'圣经'

    3.5.1 一元加、减操作符 3.6 自动递增和递减 3.7 关系操作符 3.7.1 测试对象的等价性 3.8 逻辑操作符 3.8.1 短路 3.9 直接常量 3.9.1 指数记数法 3.10 按位操作符 3.11 移位操作符 3.12 三元操作符 if-else 3.13 ...

    数组循环移位操作实例

    介绍了数组循环移位操作实例,有需要的朋友可以参考一下

    java基础案例与开发详解案例源码全

    13.1.2 Java对文件和目录的操作328 13.2 JavaIO原理332 13.3 流类结构333 13.3.1 InputStream和OutputStream333 13.3.2 Reader和Writer334 13.4 文件流336 13.4.1 FileInputStream和FileOutputStream336 13.4.2 ...

    基于Java Swing实现的程序员计算器【源码包+jar包+exe可执行文件】

    1. 该计算器为程序员计算器,在实现基本运算功能的情况下拓展了程序员经常要用到的的进制转换,以及移位和取余等操作; 2. 仅支持十进制的输入。第2行为十进制输入,第3行为2进制转换结果,第4行为8进制转换结果,第...

    java 编程入门思考

    3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符+ 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 ...

    java2入门经典.part01

    对象的操作 Java程序语句 封装 类和数据类型 类和子类 使用对象的优点 Java程序结构 Java的类库 Java应用程序 Java和Unicode码 本章:小结 参考资源 第二章:程序、数据、变量和计算 数据和变量 变量的命名 变量名...

    Java初学者入门教学

    3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符+ 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 ...

    Java运算符介绍.pptx.pptx

    Java运算符分类 Java运算符主要分为四类:算术运算符、关系运算符、逻辑运算符和位运算符,这些运算符...位运算符主要用于处理二进制数据,包括与、或、非、异或和移位等操作,它们可以实现对数据的快速处理和转换。

    java联想(中文)

    3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符+ 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 ...

    Java2入门经典.rar

    对象的操作 Java程序语句 封装 类和数据类型 类和子类 使用对象的优点 Java程序结构 Java的类库 Java应用程序 Java和Unicode码 本章:小结 参考资源 第二章:程序、数据、变量和计算 数据和变量 变量的命名 变量名和...

    基于Java语言实现公钥古典加密算法

    3、本案采用古典的移位、换位等数学操作,加密解密速度大大提高。 4、密钥作为文件由通讯双方妥善保存,密钥和算法分离,有效保护系统的安全。 5、通过更换码表和密钥,可灵活提供给不同的应用使用。 本案以上特点都...

    java&lt;&lt;、&gt;&gt;、&gt;&gt;&gt;移位操作方法

    下面小编就为大家带来一篇java&lt;&lt;、&gt;&gt;、&gt;&gt;&gt;移位操作方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JAVA_Thinking in Java

    3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符+ 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 ...

    Thinking in Java简体中文(全)

    3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符+ 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 ...

    Thinking in Java 中文第四版+习题答案

    3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 ...

    Java byte 位移操作 注意事项

    Java对byte 的 + – * / &gt;&gt; &gt;&gt;&gt; &lt;&lt; & | ^ (加,减,乘,除,右移,左移,无符号右移,位与,位或,位异或)操作,均会是首先将byte转化为int, 再行运算。这一事实可能导致多种问题:  假设我们想进行如下...

Global site tag (gtag.js) - Google Analytics