当前位置: 首页 > news >正文

java =1 ==1_为什么在Java中-1右移1 = -1?

从上面的问题的答案中我完全理解了零填充右移的概念.但是当我试图找到-1>> 1时,我得到一个完全复杂的答案,我觉得很难理解.

-1 in binary form is as follows: 11111111111111111111111111111111

After flipping the bits, I got: 00000000000000000000000000000000

Upon adding 1 to it, I got: 00000000000000000000000000000001

Now shifting one position right: 00000000000000000000000000000000

After flipping the bits, I got: 11111111111111111111111111111111

Now adding 1 to it: 00000000000000000000000000000000

我不明白-1>> 1是-1本身,然后呢?

解决方法:

当执行一个正常的右移位(即,使用与GT;>中也称为一个算术右移,而不是到大于;&GT>中,其是一个逻辑右移),数目为符号扩展.

这是如何工作的如下:

当我们右移时,我们在数字前面得到一个空位,如下所示:

11111111111111111111111111111111

?1111111111111111111111111111111(1) (right-shift it one place)

最后一个被移出,并且来了?

现在,我们如何填写?取决于我们如何转变.

如果我们进行逻辑移位(即>>>),我们只需用0填充它.

如果我们做了算术移位(即&GT&1+),我们有从原来的数的第一位,即,符号位(因为它是1,如果该数是负的,而0如果不)填充.这称为符号扩展.

因此,在这种情况下,-1>> 1符号 – 将1扩展到?,保留原始-1.

进一步阅读:

标签:java,bit-manipulation

来源: https://codeday.me/bug/20190517/1120865.html

相关文章:

  • java commons-pool_apache commons-pool的配置参数
  • JAVA CP936编码转utf8_Java编码转换 - querychinesesto的个人空间 - OSCHINA - 中文开源技术交流社区...
  • java hssffont_Java HSSFFont.setBoldweight方法代碼示例
  • java怎样创建字符串列表_java第三季lt;6-5gt;:生成随机字符串列表并排序之实现...
  • java多表return语句吗_java – 需要一个return语句吗? – 新编码
  • java网格布局如何为空_Java 网格布局
  • java 反序列化php对象_Java对对象的序列化和反序列化
  • Java如何读写基本数据类型和对象_114.Java操作基本数据类型的流对象
  • java 内部类 调用函数_Java中内部类使用方法实战案例分析
  • java 线程中途返回一个值_Java 实现线程的方式有几种方式?带有返回值的线程怎么实现?...
  • java ssh框架 session工厂如何配置连接orcale_【学习笔记】linux操作SSH互信的配置方法 ssh等效连接配置案例...
  • java异常博客讲解_Spock代码讲解-异常测试
  • JAVA websocket 没有关闭_如何在Java Spring Tomcat中快速关闭无响应的Websocket?
  • java布局不能完全填充_Java Swing gridbaglayout无法填充完整框架
  • 关于租车问题的java视频_Java第二季-答答租车系统(不合理的地方,请大家拍砖)...
  • 【Leetcode】101. 对称二叉树
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【Amaple教程】5. 插件
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 10个最佳ES6特性 ES7与ES8的特性
  • 78. Subsets
  • Java 内存分配及垃圾回收机制初探
  • maven工程打包jar以及java jar命令的classpath使用
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Redis学习笔记 - pipline(流水线、管道)
  • 浮现式设计
  • 前端之React实战:创建跨平台的项目架构
  • 使用putty远程连接linux
  • 算法-图和图算法
  • 怎样选择前端框架
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #13 yum、编译安装与sed命令的使用
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (四)汇编语言——简单程序
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)关于多人操作数据的处理策略
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • *** 2003
  • **CI中自动类加载的用法总结
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .net 调用php,php 调用.net com组件 --
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET学习全景图
  • [16/N]论得趣
  • [android] 练习PopupWindow实现对话框
  • [BT]BUUCTF刷题第9天(3.27)
  • [Erlang 0129] Erlang 杂记 VI 2014年10月28日