`
zhangq168
  • 浏览: 26674 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java位移

阅读更多

看:

a)“>>”运算符

“>>”运算符作带符号的位移处理,它作位移处理时,会先将值向右移,并在高位填0,然后将位移后所空出的高位,全部改成原来的最高位的值(代表正负号的位)。也就是说负的值位移后,仍然是负的值,比如:

-10>>2 =-3

-10= 1111 1111 1111 1111 1111 1111 1111 0110

右移2位:0011 1111 1111 1111 1111 1111 1111 1101

结果:1111 1111 1111 1111 1111 1111 1111 1101   (全部天上原本符号位的值:1)

b)“>>>”运算符

“>>>”运算符所作的是无符号的位移处理,它不会将所处理的值的最高位视为正负符号,所以作位移处理时,会直接在空出的高位填入0。当我们要作位移的原始值并非代表数值时(例如:表示颜色图素的值,最高位并非正负号),可能就会需要使用此种无符号的位移。比如:

-10>>>2=1073741821

-10=1111 1111 1111 1111 1111 1111 1111 0110 (不管原来的“符号”位的值(一长串1),空上的全部直接填0)

0011 1111 1111 1111 1111 1111 1111 1101=1037341821

c)“<<”运算符

“>>”运算符的所作的也是无符号的位移处理,同样地,它不会将所处理的值的最高位视为正负符号,它作位移处理时,会直接左移并在低位填入0。所以第二高位以下的位若移到了最高位,该值的正负可能会与原来的不同。

-2147483647<<2=4

-2147483647=1000 0000 0000 0000 0000 0000 0000 0001

 

0000 0000 0000 0000 0000 0000 0000 0100=4

d)“<<<”运算符
   恩,当然了,在java里不存在它

分享到:
评论

相关推荐

    10_02.rar_10_02_java 位移

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

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

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

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

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

    BASE64编码和解码的JAVA实现

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

    java位运算加密示例

    通过位运算中的"^"异或运算符把字符串与一个指定的值进行异或运算,从而改变字符串每个字符的值,这样就可以得到一个加密后的字符串

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

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

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

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

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

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

    Java byte 位移操作 注意事项

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

    JAVA基础之java的移位运算

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

    频域二次积分_振动位移

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

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

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

    java位运算操作

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

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

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

    学通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 ...

Global site tag (gtag.js) - Google Analytics