gpt4 book ai didi

Ruby 无符号右移运算符

转载 作者:太空宇宙 更新时间:2023-11-03 16:56:54 25 4
gpt4 key购买 nike

我试图将我的一些 Java 代码转换为 (J)Ruby,由于我缺乏按位运算的经验,我遇到了一个我自己似乎无法解决的问题。

简单地说,我不知道如何将这段 Java 代码转换成 Ruby,因为 Ruby 似乎没有无符号右移运算符 (>>>)。

private static short flipEndian(short signedShort) {
int input = signedShort & 0xFFFF;
return (short) (input << 8 | (input & 0xFF00) >>> 8);
}

def self.flip_endian(signed_short)
input = signed_short & 0xFFFF
input << 8 | (input & 0xFF00) >> 8
end

最佳答案

这将交换前 2 个字节并切断整数的所有高位:

def self.flip_endian(input)
input << 8 & 0xFF00 | input >> 8 & 0xFF
end

关于Ruby 无符号右移运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7362466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com