`

Java的位移操作

    博客分类:
  • JAVA
阅读更多
1.左移操作: x << n
x可以是byte, short, char, int, long基本类型, n(位移量)只能是int型

编译器的执行步骤:
1) 如果x是byte, short, char类型, 则将x提升为int;
2) 如果x是byte, short, char, int类型, 则n被重新赋值(过程是:取n的补码的低5位再转成十进制的int值,相当对n取32模: n=n%32);
   如果x是long型, 则n被重新赋值(过程是:取n的补码的低6位再转成十进制的int值,相当对n取64模: n=n%64);
   (因为int类型为4个字节,即32位,移动32位将没有任何意义.对于long则是模64)
3) 对x左移n个位数, 整个表达式产生一个新值(x的值不变);
2.<<是左移符号,列x<<1,就是x的内容左移一位(x的内容并不改变)
3.>>是带符号位的右移符号,x>>1就是x的内容右移一位,如果开头是1则补1,是0责补0,(x的内容并不改变).
4.>>>是不带符号位的右移,x>>>1就是x的内容右移一位,开头补0(x的内容并不改变)
分享到:
评论

相关推荐

    JAVA工程师笔试题汇总(免费)

    知识点6:Java位移操作符 在Java中,有两种位移操作符:&gt;&gt;和&gt;&gt;&gt;. &gt;&gt;是带符号位移操作符,&gt;&gt;&gt;是无符号位移操作符。例如,1010 0000 0000 0000 0000 0000 0000 0000 &gt;&gt; 4将结果为0000 1010 0000 0000 0000 0000 0000 ...

    java byte相互转换详解左右位移

    在Java中,基本数据类型byte与int之间的相互转换涉及到计算机的二进制运算、位移操作以及补码的概念。我们首先了解Java中int和byte的数据结构,然后探讨它们之间的转换方法及其背后的原理。 **基本数据类型结构:**...

    Test_shr_long.rar_verify

    在IT行业中,尤其是在...总的来说,“Test_shr_long.rar_verify”可能是一个关于Java位移操作的测试案例,特别是关注无符号右移的正确性和边界条件。通过理解和掌握这些知识点,开发者能更好地写出高效且可靠的代码。

    10_02.rar_10_02_java 位移

    在Java中,位移操作符包括左移()、右移(&gt;&gt;)和无符号右移(&gt;&gt;&gt;)。这个名为"10_02.rar_10_02_java 位移"的压缩包文件,很可能包含了一个Java项目,该项目运用了位移运算来实现特定的功能,这里特别提到了"中点...

    有限单元法求解跨中的位移java实现

    在Java中,这可能需要使用二维数组来表示矩阵,并编写相应的算法实现这些操作。 在“跨中的位移”这个问题中,可能指的是结构的中心位置的位移。在实际应用中,可能需要输入荷载分布、结构几何信息以及材料属性,...

    java modbusRTU协议实现平硐位移的报警和复位

    在本项目中,我们利用Java语言实现了ModbusRTU协议,以此来监控平硐(可能是矿山或其他类似结构)的位移情况,并进行报警与复位功能。 ModbusRTU是一种基于RS-485或RS-232串行通信的协议,它定义了设备如何在总线上...

    java位运算操作

    Java位运算操作 左位移 右位移 与或非的操作

    Java byte 位移操作 注意事项

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

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

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

    农行,笔试题,java,c

    9. Java 位移运算:&gt;&gt;&gt;运算符。 10. Java awt 包:用于 GUI 编程。 11. Java final 关键字:不可继承的类。 12. Java 系统输出:system.out.println()。 13. Java 面板默认布局:FlowLayout。 14. Java 类组成:属性...

    Java排列组合算法分析和代码实现

    在`Combination.java`文件中,你应该能看到这种位移法的实现,它通过维护一个组合数组,并在每次生成新组合时仅移动少数几位,以达到高效生成组合的目的。 文档`排列.doc`和`位移法实现组合.doc`将提供更详尽的解释...

    可互操作的Java和JavaScript AES/128/192/256加密算法代码

    本主题主要关注的是如何在Java和JavaScript之间实现可互操作的AES(Advanced Encryption Standard)加密算法,这涉及到128、192和256位的密钥长度。AES是一种广泛应用的块密码,以其高效性和安全性著称,广泛用于...

    动物位移小游戏Java实现,强行使用上了SQLite和MyBatis.zip

    本资源是一个基于Java实现的动物位移小游戏的完整项目,集成了SQLite数据库和MyBatis框架。该项目适合计算机相关专业的学生、教师以及企业员工学习和参考,也可作为毕业设计、课程设计或大作业的一部分。项目通过...

    基于JAVA-gui的文本加解密小程序源码

    基于JAVA-gui的文本加解密小程序源码 本项目一共有四个类文件 第一个类文件是Mainpanel.java,实现主界面的绘制,用户输入或打开文本,显示执行结果,...第四个类文件是Encode.java,实现对文件的ASCii码位移加密操作。

    Java byte数组与其他类型转换

    这两个方法内部都采用了位移操作来完成转换。例如,`putShort`方法通过右移8位将高字节存储到索引位置,然后将低字节存储到索引+1的位置。而`getShort`方法则通过左移位操作来重组字节并返回原始short值。`...

    crc16_java_CRC16_

    4. **多项式除法**:根据生成器多项式,对CRC寄存器进行逻辑与操作,若最高位为1,则进行位移操作并异或生成器多项式。 5. **返回CRC值**:最后得到的CRC寄存器值就是CRC16校验码。 ### CRC16.java关键代码分析 ...

    Java编写的CRC校验

    然后,我们需要对数据进行位移和异或操作,这些操作可以使用Java的位运算符完成。例如,`&gt;&gt;&gt;`用于无符号右移,`^`用于异或,`&`用于按位与。 以下是一个简单的CRC-32校验的Java实现步骤: 1. 初始化CRC寄存器,通常...

Global site tag (gtag.js) - Google Analytics