/**
* @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与int之间的相互转换涉及到计算机的二进制运算、位移操作以及补码的概念。我们首先了解Java中int和byte的数据结构,然后探讨它们之间的转换方法及其背后的原理。 **基本数据类型结构:**...
在Java中,这可能需要使用二维数组来表示矩阵,并编写相应的算法实现这些操作。 在“跨中的位移”这个问题中,可能指的是结构的中心位置的位移。在实际应用中,可能需要输入荷载分布、结构几何信息以及材料属性,...
在Java中,位移操作符包括左移()、右移(>>)和无符号右移(>>>)。这个名为"10_02.rar_10_02_java 位移"的压缩包文件,很可能包含了一个Java项目,该项目运用了位移运算来实现特定的功能,这里特别提到了"中点...
Java对byte 的 + – * / >> >>> << & | ^ (加,减,乘,除,右移,左移,无符号右移,位与,位或,位异或)操作,均会是首先将byte转化为int, 再行运算。这一事实可能导致多种问题: 假设我们想进行如下...
Java位运算操作 左位移 右位移 与或非的操作
在本项目中,我们利用Java语言实现了ModbusRTU协议,以此来监控平硐(可能是矿山或其他类似结构)的位移情况,并进行报警与复位功能。 ModbusRTU是一种基于RS-485或RS-232串行通信的协议,它定义了设备如何在总线上...
在`Combination.java`文件中,你应该能看到这种位移法的实现,它通过维护一个组合数组,并在每次生成新组合时仅移动少数几位,以达到高效生成组合的目的。 文档`排列.doc`和`位移法实现组合.doc`将提供更详尽的解释...
知识点6:Java位移操作符 在Java中,有两种位移操作符:>>和>>>. >>是带符号位移操作符,>>>是无符号位移操作符。例如,1010 0000 0000 0000 0000 0000 0000 0000 >> 4将结果为0000 1010 0000 0000 0000 0000 0000 ...
总结来说,"可互操作的Java和JavaScript AES/128/192/256加密算法代码"这一主题涉及了如何在Web开发的前后端环境中实现安全的数据交换。通过使用相同的标准加密算法和参数,开发者可以确保数据在JavaScript客户端和...
6. 移位运算符:`、`>>`、`>>>` —— 从左到右执行,用于位移操作,如 `a 。 7. 关系运算符:`、`、`>`、`>=`、`instanceof` —— 从左到右执行,用于比较操作,如 `a 。 8. 相等运算符:`==`、`!=` —— 从左到右...
在Java中,通常我们不直接操作点阵字库,因为Java的`java.awt.Font`类提供了丰富的字体支持,包括多种系统字体和样式。然而,如果你需要在低分辨率设备上高效地渲染文本,或者需要创建定制的字符集,那么理解点阵...
位移操作符包括左移(), 右移(>>)和无符号右移(>>>), 用于改变数字的二进制表示中的位位置。例如,"5 将返回20,因为5的二进制形式是0101,左移两位后变成10100,对应的十进制值为20。 赋值操作符如 "+=","-=","*=...
解密过程基本上是加密过程的逆操作,包括使用相同的子密钥,但顺序相反,以及逆向的扩展、选择和位移操作。在Java中,解密类可以继承自加密类,并覆盖其中的相应方法以实现解密逻辑。 8. **实际应用**: 在实际...
然后,我们需要对数据进行位移和异或操作,这些操作可以使用Java的位运算符完成。例如,`>>>`用于无符号右移,`^`用于异或,`&`用于按位与。 以下是一个简单的CRC-32校验的Java实现步骤: 1. 初始化CRC寄存器,通常...
在这个名为"动物位移小游戏Java实现,强行使用上了SQLite和MyBatis.zip"的项目中,我们可以看到一个基于Java开发的小游戏,它结合了SQLite数据库和MyBatis框架。这个项目对于学生进行课程设计或毕业设计,以及提升...
这两个方法内部都采用了位移操作来完成转换。例如,`putShort`方法通过右移8位将高字节存储到索引位置,然后将低字节存储到索引+1的位置。而`getShort`方法则通过左移位操作来重组字节并返回原始short值。`...
9. Java 位移运算:>>>运算符。 10. Java awt 包:用于 GUI 编程。 11. Java final 关键字:不可继承的类。 12. Java 系统输出:system.out.println()。 13. Java 面板默认布局:FlowLayout。 14. Java 类组成:属性...
4. **多项式除法**:根据生成器多项式,对CRC寄存器进行逻辑与操作,若最高位为1,则进行位移操作并异或生成器多项式。 5. **返回CRC值**:最后得到的CRC寄存器值就是CRC16校验码。 ### CRC16.java关键代码分析 ...