社区
Java SE
帖子详情
关于位移的问题,解惑马上给分!!!
oswicer
2005-04-12 04:18:33
a >> 32 = a; a 为int型
上面这个式子我用程序验证,屡试不爽,但是有一个很大的疑惑
按照java的理论讲: >> 也就是有符号右移,移动时 最高位和原符号位相同,也就是说如果是正数,最高位始终是补1,负数始终补0
那么一个负的整数,向右移动32位,肯定最后的结果,所有32位都是0啊,怎么会还是自己呢,但是用程序测试,的确应验
-33 >> 32 = -33;
为什么,为什么?已经想晕了
...全文
90
11
打赏
收藏
关于位移的问题,解惑马上给分!!!
a >> 32 = a; a 为int型 上面这个式子我用程序验证,屡试不爽,但是有一个很大的疑惑 按照java的理论讲: >> 也就是有符号右移,移动时 最高位和原符号位相同,也就是说如果是正数,最高位始终是补1,负数始终补0 那么一个负的整数,向右移动32位,肯定最后的结果,所有32位都是0啊,怎么会还是自己呢,但是用程序测试,的确应验 -33 >> 32 = -33; 为什么,为什么?已经想晕了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
FBugFramework
2005-04-12
打赏
举报
回复
也不给我一些。。
小气叭啦的。
FBugFramework
2005-04-12
打赏
举报
回复
16 10 2
0x1f 31 11111
原来 a>>(n&0x1f) 就是a>>(n%32) 哦。。这么妙啊。
不是吧。。我测试了:-33 >> 33 后也是 -33 啊。。
oswicer
2005-04-12
打赏
举报
回复
这么高深,pf,pf
分都给你了!!
kingfish
2005-04-12
打赏
举报
回复
//我觉得a>>n是按a>>(n%32)进行处理的. (猜得)
//主要要看ishr指令是如何处理的
看来我猜对了.
刚查了Inside JVM, 右移指令 ishr
如a>>n
所移位数由n的最低5位决定, 相当a>>(n&0x1f) 也就是a>>(n%32)
===========
oswicer
2005-04-12
打赏
举报
回复
FBug(花知)
好象是我错了,那问题还是一样的,正数补0的话,挪了32位也就全变成0了
但是我并没有移动32位,我只是拿-33做个例子罢了
-50 >> 32 = -50 ;是一样的
没有人真正明白么,还是不懂啊
kingfish
2005-04-12
打赏
举报
回复
主要要看ishr指令是如何处理的
kingfish
2005-04-12
打赏
举报
回复
我觉得a>>n是按a>>(n%32)进行处理的. (猜得)
kingfish
2005-04-12
打赏
举报
回复
我觉得a>>n是按a>>(n%32)进行处理的. (猜得)
FBugFramework
2005-04-12
打赏
举报
回复
千万不要晕。
要是晕了的话就再也想不出来了。
毛zx常这样告戒我。
FBugFramework
2005-04-12
打赏
举报
回复
不知道啊。
int型的只有32位啊。
你移动了33位。明显不对。
最多移动32位啊否则没意义了。 -33 >> 31 的结果就是 -1。。这是一定的
FBugFramework
2005-04-12
打赏
举报
回复
正数补0,负数补1啊。
Unity3D实战入门之简单消消乐
因此,资深大牛你就别进了,想学高深知识的你就别点了,自认为消除小case、
分
分
钟搞定的高手你也趁早走人。 在这门课程里,你能够学到的,只有以下几点: 1、如何使用UGUI搭建棋盘游戏的基础阵列; 2、如何快速的...
最强解析面试题:二进制中 1 的个数「建议收藏!炸!」
A负数
问题
位移
运算类型
问题
边界
问题
附录 最强解析面试题:二进制中 1 的个数「建议收藏!」 文章讲解 “ 二进制中 1 的个数 ” 经典面试题,包含思路及源码,及
解惑
! 题目 输入一个整数,输出该数二进制表示中 1 ...
解惑
—Linux中的地址空间
解惑
—Linux中的地址空间(一)有这么一系列的
问题
,是否在困扰着你:用户程序编译连接形成的地址空间在什么范围内?内核编译后地址空间在什么范围内?要对外设进行访问,I/O的地址空间又是什么样的?先回答第一个...
java
位移
运算符详解
以int类型的6297为例,代码如下:(注意:
位移
运算符结果必须赋值给一个对象或者作为参数传入方法如下,否则报错“not a statement”) System.out.println(Integer.toBinaryString(6297)); System.out....
opengl 先旋转后平移和先平移后旋转
解惑
但在项目中遇到这么一个
问题
,如果不知道模型中点,或者知道模型中点一定不在原点,但我们也只需要模型方向,那么我们直接将模型旋转会得到我们想要的方向吗?即如果先平移后旋转能不能得到想要的方向? 这个地方我...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章