`

java中的位移操作

阅读更多
/**
 * @author superGenius
 * java移位操作
 *基础知识:java中类型的二进制表示
 *
 *一.int的是32位。long的是64位。
  *如int i = 1;
  * i的二进制原码表示为:
  * 00000000000000000000000000000001
  *long l = 1;
  *l的二进制原码表示为:   *0000000000000000000000000000000000000000000000000000000000000001
  *
  *二.原码——符号位为0表示正数,为1表示负数;
            其余各位等同于真值的绝对值。
	 如:0000000000000010B=2,1000000000000010B=-2
	反码——符号位的用法及正数的表示与“原码”一样;
	 负数的表示是在“原码”表示的基础上通过将符号位以外
	 的各位取反来获得的。
	 如:0000000000000010B=2,1111111111111101B=-2
	补码——符号位的用法及正数的表示与“原码”一样;
	 负数的表示是在“反码”的基础上通过加1来获得的。
	 如:00000010B=2,11111110B=-2 
	 
	三。常用的操作
		& 与。    全1为1, 有0为0。  任何数与0与都等于0。  
	    | 或。      有1为1, 全0为0。  任何数与0或都等于原值。
	    ~ 非。     逐位取反
	    ^ 异或。  相同为0,相异为1。      任何数与0异或都等于原值。 
	   
 */
public class Shifting {
	public static void main(String[] args)
	{
	
		System.out.println(1<<1);//1左移一位从0001->00010,相当于乘以2  结果2
		System.out.println(4>>2);//相当于除以4  结果1
		System.out.println(1&2);//1->0001 2->0010 逐位比较  返回0000 结果0
		System.out.println(1^1);//相同的返回0
		System.out.println(1|2);//1->0001 2->0010 逐位比较  返回0011结果3
		
	}

}
分享到:
评论

相关推荐

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

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

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

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

    10_02.rar_10_02_java 位移

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

    Java byte 位移操作 注意事项

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

    java位运算操作

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

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

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

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

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

    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和JavaScript AES/128/192/256加密算法代码

    总结来说,"可互操作的Java和JavaScript AES/128/192/256加密算法代码"这一主题涉及了如何在Web开发的前后端环境中实现安全的数据交换。通过使用相同的标准加密算法和参数,开发者可以确保数据在JavaScript客户端和...

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

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

    点阵字库在JAVA中的实现源码

    在Java中,通常我们不直接操作点阵字库,因为Java的`java.awt.Font`类提供了丰富的字体支持,包括多种系统字体和样式。然而,如果你需要在低分辨率设备上高效地渲染文本,或者需要创建定制的字符集,那么理解点阵...

    Java语言中的操作符及操作符的优先级[借鉴].pdf

    位移操作符包括左移(), 右移(&gt;&gt;)和无符号右移(&gt;&gt;&gt;), 用于改变数字的二进制表示中的位位置。例如,"5 将返回20,因为5的二进制形式是0101,左移两位后变成10100,对应的十进制值为20。 赋值操作符如 "+=","-=","*=...

    SDES加密算法JAVA

    解密过程基本上是加密过程的逆操作,包括使用相同的子密钥,但顺序相反,以及逆向的扩展、选择和位移操作。在Java中,解密类可以继承自加密类,并覆盖其中的相应方法以实现解密逻辑。 8. **实际应用**: 在实际...

    Java编写的CRC校验

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

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

    在这个名为"动物位移小游戏Java实现,强行使用上了SQLite和MyBatis.zip"的项目中,我们可以看到一个基于Java开发的小游戏,它结合了SQLite数据库和MyBatis框架。这个项目对于学生进行课程设计或毕业设计,以及提升...

    Java byte数组与其他类型转换

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

    农行,笔试题,java,c

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

    crc16_java_CRC16_

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

Global site tag (gtag.js) - Google Analytics