Tag: bitwise operators

Ruby:片段是什么:(num&1)== 0究竟是做什么的?

我正在观看来自PragProg的元编程video,Dave Thomas展示了这段代码: module Math class < false puts Math.is_even? 2 # => true 现在我明白了这里发生了什么,但我不知道Math.is_even?的(num & 1)部分究竟发生了什么Math.is_even? 类方法。 我知道这是一个按位操作,但这是关于它。 有人可以向我解释这行代码的用途吗? 谢谢。

ruby与javascript中的按位OR

尝试将UID生成器从Javascript转换为Ruby,我想了解以下行为。 这行代码 89190868196442450 | 0 会用javascript给出 1074708816 在ruby 89190868196442450 我完全理解ruby行为,因为Bitwise OR运算符在eather操作数中存在时会复制一点,但我仍然对javascript行为感到困惑。 我在javascript整数表示中看得更深,无法找到明确的解释。 我找到了这个 ,但没有完全明白。 二进制的89190868196442450是100111100110111101001111101000000000011101100000101010010,它使其长度为57位。 谁能给我一个明确的解释或上面的结果。 我应该对ruby代码执行哪些操作以确保类似的行为?

旋转位在Ruby中的右操作

Ruby中有旋转位吗? 或者我该怎么办呢。 谢谢

对带有ruby的字符串的按位操作

如何在ruby中对字符串执行按位运算? 我想做bitwise &一个4字节长的hex字符串,如(“abcd” & 0xDA2DFFD3) 。 我无法获取字符串的字节值。 谢谢你的帮助。