java右移位_java 、移位操作方法
<
java" id="highlighter_505373">
以上是正整数,运算结果如下。
接下来看看将负数进行左移2位操作是什么情况,运算结果如下。
为什么会-10的二进制会出现这么多的1呢?仔细数一下刚好有32位。首先需要了解的是java负数存储是以补码形式存储的(补码=反码+1),10的二进制是1010,它的反码就是0101,再加1就是补码0110。那为什么会多出来那么多1呢?这是因为int型在java中占8个字节,刚好32位,10原码的高位全是0,它的反码自然高位就变成了1。所以整体左移2位,低位以0补齐,最后的运算结果就是x = (|x| + 2^n)。
>>,有符号右移位,将运算数的二进制整体右移指定位数,整数高位用0补齐,负数高位用1补齐(保持负数符号不变)。
以上是正整数,运算结果如下。
接下来看看将负数进行右移2位操作是什么情况,运算结果如下。
负数的有符号右移基本原理还是和左移相同,不同的是结果的计算,因为这是有符号的右移,一直右移最后的结果就会是-1。归纳起来就是,如果运算数是偶数,那么它的运算结果就是 x = -(|x| / 2),如果运算数是奇数,那么它的运算结果就是 x = -(|x| / 2) - 1。
>>>,无符号右移位,不管正数还是负数,高位都用0补齐(忽略符号位)
先看正数,正数的>>>无符号右移位和>>有符号右移位计算结果相同
以上是正整数,运算结果如下。
接下来看负整数,运算结果如下。
虽然无符号移位后的二进制和有符号移位后的二进制看起来相同的,但结果大相径庭,记住有符号右移位操作,实际上是忽略符号的算术操作,即高位统一补0。
以上这篇java<>、>>>移位操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
java右移位_java 、移位操作方法相关推荐
- java右移位_java、、移位操作方法
< int leftShift = 10; System.out.println("十进制:" + leftShift + ", 二进制:" + Inte ...
- java右移位_java移位运算符详解
java 移位运算符不外乎就这三种: << (左移). >> (带符 号右移)和 >>> (无符号右移) 1 . 左移运算符 左移运算符 << 使 ...
- java右移位_java中的移位运算符:,,总结
java中有三种移位运算符 << : 左移运算符,num << 1,相当于num乘以2 >> : 右移运算符,num >& ...
- java右移位_java中的左移 右移
1. 左移运算符 左移运算符< 1)它的通用格式如下所示: value << num num 指定要移位值value 移动的位数. 左移的规则只记住一点:丢弃最高位,0补最低位 如果 ...
- java set 包含_Java Set.contains()方法:判断Set集合是否包含指定的对象
Java 集合类中的 Set.contains() 方法判断 Set 集合是否包含指定的对象.该方法返回值为 boolean 类型,如果 Set 集合包含指定的对象,则返回 true,否则返回 fal ...
- java 发送邮件 菜鸟_Java发送邮件的方法
1.需要的jar包 2.具体实现方法 1.设置邮箱主机.需要认证.邮箱协议 Properties pro=new Properties(); pro.setProperty("mail.ho ...
- java secretkey用法_Java SecretKeyFactory.generateSecret方法代码示例
本文整理汇总了Java中javax.crypto.SecretKeyFactory.generateSecret方法的典型用法代码示例.如果您正苦于以下问题:Java SecretKeyFactory ...
- java 虚函数_Java的虚方法
虚方法出现在Java的多态特性中, 父类与子类之间的多态性,对父类的函数进行重新定义.如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding).在Java中,子类 ...
- java post 发送_Java发送post方法详解
总结一下java使用http发送post的方法: 1.post请求用于发送json 格式的参数: /** * post请求(用于请求json格式的参数) * * @param url 地址 * @pa ...
最新文章
- Go语言中的Struct
- raptor五个数排序流程图_数据结构与算法(一):排序(上)
- cacti0.8.8安装文档
- 【PAT乙级】1047 编程团体赛 (20 分)
- 点到直线的投影公式_2021高考复习资料:高中数学必备公式与知识点汇总
- Hello Blazor:(11)全局截获事件执行
- python方差分析模型的预测结果怎么看_statsmodels中方差分析表结果解析
- 树状数组 + 离散化 求逆序对数量
- Hive 之 用户自定义函数 UDF UDAF UDTF
- 亲身经历:如何判断一个字符在a/z之前?
- matlab18a安装步骤,MATLAB R2018a图文安装教程
- 美国密歇根州立大学计算机专业,密歇根州立大学计算机科学硕士排名第66(2020年TFE Times排名)...
- Golang 1.16 新特性-embed 包及其使用
- 安装oh my zsh后出现的目录权限问题
- 产品线架构设计的基本步骤
- python课程设计矩阵对角线之和_Python二维数组实现求出3*3矩阵对角线元素的和示例...
- BRAC模型 权限表设计
- 永久解决word2016安装Mathtype后无法复制粘贴问题,且不影响Mathtype加载到Word(附mathtype7安装包)
- 听说C语言很难?怎么不来看看我这篇(六)结构
- 软件架构-zookeeper快速入门
热门文章
- 利用caffe的python接口实现DeepImageSynthesis实例
- 分段线性变换与直方图修正
- Android实现高仿QQ附近的人搜索展示
- CompletableFuture详解~thenCompose
- debconf-set-selections mysql_docker 静默安装mysql
- jpa原生query_Spring Data JPA原生SQL查询
- Markdown入门
- AI应用开发实战系列之三:手写识别应用入门
- python使用spark-sql读取数据并可视化_使用Spark SQL读取HBase上的数据
- 与时间相关的java源码_Java 基于当前时间获取和计算时间