def getBinaryDigit x,y #获取x的二进制数的第y位
return (x>>y-1)&1
end
拿getBinaryDigit 61,3为例
61的二进制为111101
111101右移2位
001111
二进制字符串转十进制:
def binaryStr2decimal str
sum=0
for i in 0..str.length-1
cf=str.length-1-i
ds=str[i].to_i
#puts "cf: "+cf.to_s+" ds: "+ds.to_s
sum=sum+ds*(2**cf)
end
return sum
end
本文介绍了一个简单的算法getBinaryDigit,用于获取整数x的二进制表示中第y位的数值,并通过示例解释了其工作原理。此外,还提供了一个将二进制字符串转换为十进制数的方法binaryStr2decimal,展示了如何实现二进制到十进制的转换。
1004

被折叠的 条评论
为什么被折叠?



