`

Java 位移操作

    博客分类:
  • 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里不存在它。

分享到:
评论

相关推荐

    java位运算操作

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

    Java byte 位移操作 注意事项

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

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

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

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

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

    农行,笔试题,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基本类型与byte数组互相转换.pdf

    Java 基本类型与 byte 数组互相转换 Java 中的基本类型与 byte 数组之间的转换是非常重要的,以下是关于 Java 基本...Java 基本类型与 byte 数组之间的转换需要使用位操作符和与操作符将高位和低位截断成 byte 类型。

    JAVA基础之java的移位运算

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

    java运算符优先级[借鉴].pdf

    这些运算符用于执行位移操作。 8. 小于(&lt;)、大于(&gt;)、小于或等于()、大于或等于(&gt;=):从左到右 这些运算符用于比较两个操作数的大小关系。 9. 等于(==)、不等于(!=):从左到右 这些运算符用于比较两个...

    java编程基础,应用与实例

    3.7.6 位移(shift)运算符(、、) 29 3.7.7 关系运算符(、、=、=、==、!=) 31 3.7.8 快速逻辑与(&&)和快速逻辑或(||) 32 3.7.9 位运算符:位与(&)、位或(|)、位异或(^) 34 3.7.10 三目运算符(?:) 35 3.7.11...

    21天学通Java-由浅入深

    ”:非运算符 54 3.4.4 逻辑运算符总结 54 3.5 三元运算符 55 3.6 位运算符 55 3.6.1 “&”:按位与运算符 56 3.6.2 “|”:按位或运算符 56 3.6.3 “^”:按位异或运算符 57 3.7 位移运算符 57 3.7.1 “&gt;&gt;”:带...

    矩阵位移法matlab代码-MDM:Matrixdisplacementmethod/矩阵位移法

    操作系统: Microsoft Windows 10 家庭中文版 Version 10.0 (Build 14393) Java 版本: Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode 实现了矩阵位移法的计算机运算,...

    prism:对地震传感器数据执行数据处理,将原始传感器计数转换为加速度,速度和位移信息

    此PRISM(强运动数据的处理和查看接口)存储库包含用于自动记录处理引擎的软件,该软件旨在对地震传感器数据进行数据处理,将原始传感器计数转换为加速度,速度和位移信息。 PRISM是独立于平台的,使用Java编码且...

    btree:用Java实现B树

    树 用Java实现B树。 它实现了B树。... 因为它在添加键时使用数组,所以应将所有键的位移都大于键。 如果节点已满,它将首先拆分节点,然后再添加密钥以减少移位操作。 它使用堆栈来避免递归调用。

    matlab终止以下代码-AniML-java:随机森林机器学习算法/分类器的Java实现

    k均值,k中间值,均值漂移,中等位移。 然后,我可以使用随机森林来转换输入空间,并使用传统方法对其进行聚类。 要学习,我正在Kotlin中构建一些代码。 关于Java中的Random Forest(tm)的注意事项 真的可以使用...

    Java模拟计算机的整数乘积计算功能示例

    主要介绍了Java模拟计算机的整数乘积计算功能,简单分析了计算机数值进制转换与通过位移进行乘积计算的原理,并结合具体实例给出了java模拟计算机成绩运算的相关操作技巧,需要的朋友可以参考下

    Android代码-RegionDetector

    支持缩放位移操作 支持双击缩放操作 提供渐变动画,拒绝生硬 支持自定义矢量图,但需满足一定要求 开放众多接口满足个性化定制 ... 原理介绍 实现思路介绍 使用说明 布局xml中添加: * 设置激活区域: ```java...

    ADRepasoJava2:数据访问-Java复习练习2

    最后,实现一个Vehicle Test类,该类执行以下操作:在创建紫色,位移125和功率25时分配摩托车来创建摩托车。在创建绿色,位移125,功率25和功率时分配摩托车来创建摩托车。座位数2.在创建蓝色,车轮数4,轴数2,...

    计算机编程面试题集合.pdf

    * 算法设计:使用位移操作实现乘法操作 * 数学基础:了解二进制数的表示和操作 5. 数组和向量的区别 知识点: * 数据结构:数组和向量的概念和区别 * 编程语言:了解数组和向量在不同的编程语言中的实现 * 数据...

    PL/SQL 基础.doc

    4) SQLJ: 很新的一种用Java访问Oracle数据库的方法,会的人不多; 5) JDBC 6) PL/SQL: 存储在数据库内运行, 其他方法为在数据库外对数据库访问,只适合ORACLE; 2. PL/SQL 1) PL/SQL(Procedual language/SQL)...

    KafkaAdminClient:Kafka的运维利器.docx

    AdminClient 是 Java 客户端提供的工具,通过使用 AdminClient,可以在应用程序、运维框架或是监控平台中集成 Kafka 的运维管理功能。下面是 AdminClient 的相关知识点: 1. 介绍 AdminClient 是 Kafka 社区提供的...

Global site tag (gtag.js) - Google Analytics