作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一段java代码:return (int)(seed >>> (48 位));
如您所见,它使用无符号右移运算符 (>>>)。我试图在 ruby 中实现这段代码,它没有无符号的右移运算符,只有有符号的右移运算符。由于我不太熟悉 >>> 运算符,我不太确定如何在 ruby 中实现它。我尝试进行一些搜索,看看是否有人以前遇到过这个问题,但找不到任何相关内容。任何帮助将不胜感激:)
最佳答案
使用简单的位移位和掩码可以轻松实现无符号移位运算符:
public static int unsignedShift(int amt, int val) {
int mask = (1 << (32 - amt)) - 1;
return (val >> amt) & mask;
}
掩码的工作原理是将移位后应保留的所有位设置为 1。请注意,与 Java 相比,对于 amt >= 32 和 amt = 0,这会返回不同的结果。
关于java - Ruby 无符号右移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9071797/
我正在做一个项目,我的 android 在这个项目中作为一个网络服务器工作;输入带端口号的 IP 地址,打开 Web 界面,用户可以将文件上传到手机。我想在 Web 界面上显示一些图片,以便我们的界面
我是一名优秀的程序员,十分优秀!