【发布时间】:2014-05-03 12:20:21
【问题描述】:
我想用按位运算符“&”这样的字符串:
raw_counter_int = raw_counter.to_i
raw_counter_bin = raw_counter_int.to_s(2)
u = (2**62 + 2**63)
k = u.to_s(2)
r = raw_counter_bin & k
@counter_msg = r
但是当我运行我的应用程序时,我收到了这个错误消息:
undefined method `&' for "10000000000000000000000000000000000000000000000000000000":String
如何将这个运算符“&”与 raw_counter_int 和 u 一起使用,它们以二进制形式转换?
我试试这个:0000 0000 1000 0000 0000 0000 0000 0000(64 位)到 取第三个字节和第 10 个字节之间的字节。所以我想做一个 按位“&”与 0000 0000 1000 0000 0000 0000 0000 0000 & 0011 1111 1100 0000 0000 0000 0000 0000 就拿这个:00 0000 10
【问题讨论】:
-
这里不需要字符串转换
raw_counter_int.to_s(2)我想。 -
好吧,你把它转换成一个字符串,你期望什么?
&适用于数字,而不是字符串。已经是整数了,用&就行了。 -
为什么?当我删除.TO_COUNTER_BIN和K上的时,我将那0,所以我做652144440&(2 62 + 2 63),我想做100000000000000000000/1000000/30000/30000/60000/30000/00000000/0000000000/0000000000/0000000000/00000000/0000000/0000000/060000/30000/30000/30000/30000/30000/30000/344
-
我尝试使用这个:0000 0000 1000 0000 0000 0000 0000 0000(64 位)来获取第三个字节和第 10 个字节之间的字节。所以我想用 0000 0000 1000 0000 0000 0000 0000 0000 & 0011 1111 1100 0000 0000 0000 0000 0000 进行按位与运算:00 0000 10
-
我发现了一个与此无关的错误。但与bit-wise操作有关ruby-forum.com/topic/85756
标签: ruby operators bit-manipulation bitwise-operators bitwise-and