`
yychao
  • 浏览: 98404 次
  • 性别: 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 移位运算符是编程语言中用于处理二进制位的一种高效操作方式,它们能够对整数类型(byte, short, int, long)的值进行左移、右移和无符号右移操作。理解这些运算符对于优化代码和深入理解计算机底层工作原理至...

    JAVA基础之java的移位运算

    - 当对byte或short类型进行移位操作时,它们会被提升为int类型,因此移位结果可能超出原始类型的范围,需要额外处理。 - 左移可能会导致符号位丢失,尤其是对负数左移过多位时。 - 右移时,如果原始值为负数,符号位...

    Java移位运算符1

    在Java编程语言中,移位运算符是一种高效的方式来进行位操作,它们对于处理二进制数据和进行快速的乘法、除法等计算非常有用。本文将深入探讨Java中的三种移位运算符:左移运算符(),右移运算符(&gt;&gt;)以及无符号右...

    java实现大周期线性反馈移位寄存器

    线性反馈移位寄存器(Linear Feedback Shift Register,简称LFSR)是密码学、通信和计算机科学中的一种重要工具,它通过一系列线性函数操作来改变寄存器中的位序列,从而产生周期性的伪随机序列。这些序列在密码学中...

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

    Java语言中的移位操作是处理二进制数据时非常高效且强大的工具,它涉及到计算机底层的位运算。本文将深入探讨如何使用Java的移位操作来处理二进制,并通过示例代码展示其实现方法。 首先,我们来看一下Java中的移位...

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

    Java移位操作方法详解 Java中的移位操作方法主要有三种:左移位()、有符号右移位(&gt;&gt;)和无符号右移位(&gt;&gt;&gt;)。下面我们将详细介绍这三种移位操作方法的原理和应用。 一、左移位() 左移位操作将运算数的二...

    Java移位运算符详解实例(小结)

    Java移位运算符是Java语言中的一种基本运算符,用于对二进制数进行位移操作。移位运算符主要包括左移位运算符()、右移位运算符(&gt;&gt;&gt;)和带符号的右移位运算符(&gt;&gt;)。这些运算符可以单独用来处理int型整数。 1. ...

    文件移位加密与解密

    程序的核心部分在于读取文件内容,然后根据用户输入的密钥进行移位操作,最后输出加密或解密后的结果。程序还包含了一个无限循环,允许用户多次进行加密或解密操作而无需重新启动程序。 #### 程序关键代码解析 ```...

    Java中的进制与移位运算符

    移位运算在处理位操作、数组索引计算、快速乘除等方面非常有用,但需谨慎使用,因为它们可能会导致数值溢出或丢失符号信息。 了解了这些基础知识后,开发者可以更好地理解和编写涉及二进制和移位运算的代码。在实际...

    Java三种移位运算符原理解析

    Java移位运算符是Java编程语言中的一种基本操作符,主要用于对二进制数的移位操作。Java中有三种移位运算符:左移运算符()、带符号右移运算符(&gt;&gt;)和无符号右移运算符(&gt;&gt;&gt;)。下面我们将详细介绍这三种移位...

    移位算法文件加密解密

    移位算法在信息安全领域是一种常见的加密技术,它基于字符或数据块的位移操作来实现信息的隐藏。这种算法简单易懂,但也因为其相对简单的性质,可能在安全性上不如其他高级加密标准如AES(高级加密标准)或RSA。本文...

    LFSR线形反馈移位寄存器

    LFSR通过移位操作和线性反馈功能,能够生成一系列看似随机的数据序列,这些序列在统计上具有良好的均匀性和不可预测性。 LFSR的基本工作原理是基于移位寄存器的。移位寄存器是一种存储设备,它包含若干个存储单元...

    java位运算符之左移操作视频

    1. 移位数量:左移操作符后的数字表示要移动的位数。如果这个数字大于32(对于32位整数),结果将取决于JVM的具体实现,通常会截断为32位。 2. 数据类型:左移操作可以应用于byte、short、int和long类型的数值。对于...

    Java操作符的优先级和结合性

    6. 移位运算符:`、`&gt;&gt;`、`&gt;&gt;&gt;` —— 从左到右执行,用于位移操作,如 `a 。 7. 关系运算符:`、`、`&gt;`、`&gt;=`、`instanceof` —— 从左到右执行,用于比较操作,如 `a 。 8. 相等运算符:`==`、`!=` —— 从左到右...

    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移位符的具体使用

    浅析java移位符的具体使用 左移运算符() * 左移运算符的定义:左移运算符是一种二进制运算符,它将操作数的二进制码整理左移指定位数,左移后右面空出的位用0来补充。 * 左移运算符的原理:在计算机系统中,数值...

    Java利用移位运算将int型分解成四个byte型的方法

    在 Java 中,移位运算是指将一个数字移动到特定的位数,以便实现某些操作。在这里,我们使用移位运算来将 int 型分解成四个 byte 型。移位运算有三种类型:左移位()、右移位(&gt;&gt;)和无符号右移位(&gt;&gt;&gt;)。 知识点...

    CoreJava全套详细笔记资料.pdf

    * 运算符是Java语言中的基本操作符,用于执行各种操作。 * 移位运算符包括左移、右移和无符号右移,用于将数字移动到指定的位置。 * 位运算符包括按位与、按位或、按位异或和按位非,用于对数字进行二进制操作。 * ...

    java中的移位运算符心得总结

    * 无符号整数的移位:无符号右移运算符可以用来实现无符号整数的移位操作,例如将一个无符号整数右移一位。 * 位ewise操作:无符号右移运算符可以用来实现位ewise操作,例如将一个无符号整数的低位移到高位。 示例...

Global site tag (gtag.js) - Google Analytics