`

JAVA中的位移

    博客分类:
  • JAVA
 
阅读更多

在使用一个字段按照二进制表示某些特定含义的时候经常使用位移操作,java中位移根据数据类型有些特殊处理。

以int为例,int共32位,第32位为符号位,所以得出以下结果

1<<31 = -2147483648

超过32位的会直接取模。

所以:

1<<32 = 1 

1<<33 = 2。

位移过后正数变为负数的情况也要注意,举个例子

782745866 <<16 

782745866 二级制表示为0010 1110 1010 0111 1100 0001 0000 1010

位移16位后为1100 0001 0000 1010 0000 0000 0000 0000

但是在java中,左移16位的十进制结果为-1056309248 其二进制表示为

1011 1110 1111 0110 0000 0000 0000 0000 

因为java中存放负数存的是补码,即是反码加1。

所以782745866 <<16 的结果为-1056309248

 

分享到:
评论

相关推荐

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

    java基本类型转byte,设计原码、补码、反码、左右位移等知识,赚点积分

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

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

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

    计算过程中运用了矩阵相乘、矩阵求逆(高斯消元)等方法,针对特定一类题目正确求解。代码内有详细注释,希望对大家有所帮助

    BASE64编码和解码的JAVA实现

    BASE64编码和解码的JAVA实现。 太简单了。直接调用API实现的。 反正不要分,你们看着下吧。

    10_02.rar_10_02_java 位移

    这是一个java程序,使用了中点位移法自动生成分形山,在上面还提供了一些注释,可以作为课程设计的参考资料

    Java byte 位移操作 注意事项

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

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

    这个是用java写的,基于modbusRTU协议的,服务器发送数据给传感器,传感器返回数据给服务器,服务器根据数据来计算平硐的位移,如果大于某个值就报警,小于就复位不报警

    JAVA基础之java的移位运算

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

    频域二次积分_振动位移

    基于STM32F407对加速度进行频域二次积分,需要用到F4的DSP库。本文件参考了王济《matlab在振动信号处理中的应用》一书中频域二次积分的matlab...该文件测量的位移为振动位移(总位移为0),单次非零位移的测量不适用。

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

    本资源附带文档解释了排列组合算法的实现和原理。其中排列算法是基于递归实现的,组合算法是基于高效的位移法实现的。代码是使用Java版实现的。

    java版本DAM6080测平硐位移的完整代码

    java版本DAM6080测平硐位移的完整代码,需求包括每隔5分钟接受7个通道的数据,通过公式求得实际测量值,并且存储到数据库中;这个是测试成功的完善版本

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

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

    java位运算操作

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

    学通Java的24堂课

    3.8.6 基本功训练6——位移实现数字乘以2的8次幂 86 3.9 情景应用——拓展与实践 86 3.9.1 情景应用1——输出长方形面积 86 3.9.2 情景应用2——输出字节bit位的值 87 3.9.3 情景应用3——判断奇偶数 88 3.9.4 ...

    JavaScript中进行byte的计算(含java及js查表法生成crc的代码)

    网络资源的整合,以及自己摸索使用JavaScript进行byte计算的路,包括详细的文档,范例代码(java和js按算法crc16生成crc码),为下载其中资源,花费若干分,所以设定了下载分。谢谢大家!

Global site tag (gtag.js) - Google Analytics