将int转换为二进制,对它执行按位运算

时间:2013-02-24 17:38:22

标签: ruby

我正在尝试将int转换为二进制,然后对二进制文件执行按位操作。

我当前的方法是取int,在其上调用to_s(2),但后来我留下了二进制字符串。

关于我应该做什么的任何建议?

2 个答案:

答案 0 :(得分:6)

简单整数在几乎所有主要编程语言(包括Ruby)中都以二进制形式存储。因此,您可以对整数本身执行按位操作:

>> 6 | 5 # bitwise or
=> 7
>> 6 & 5 # bitwise and
=> 4
>> 6 ^ 5 # bitwise xor
=> 3
>> 6 >> 2 # right shift
=> 1
>> 6 << 2 # left shift
=> 24

(编辑:这似乎是我的1000 th 答案。)

答案 1 :(得分:0)

the_number.to_s(2).split('').map { |x| x.to_i }#将数字转换为二进制数组