Ruby -2基转换算法建议
我试图将一个整数转换为基数-2,但在Ruby中,Ruby -2基转换算法建议,ruby,math,base,Ruby,Math,Base,我试图将一个整数转换为基数-2,但在Ruby中,。to_s(-2)不被接受。你有没有其他办法把一个数字转换成-2的基数 改编自作者的评论: def negabinary(n) return negabinary(-(n>>1)) + (n & 1).to_s if n != 0 return '' end 编写使用整数除法的算法。很好地描述了这一点,包括负余数的潜在陷阱。Hmmm-2的幂等于多少,比如说8?@CarySwoveland:8在基-2中表示为(-2)^4
。to_s(-2)
不被接受。你有没有其他办法把一个数字转换成-2的基数 改编自作者的评论:
def negabinary(n)
return negabinary(-(n>>1)) + (n & 1).to_s if n != 0
return ''
end
编写使用整数除法的算法。很好地描述了这一点,包括负余数的潜在陷阱。Hmmm-2的幂等于多少,比如说8?@CarySwoveland:8在基-2中表示为(-2)^4+(-2)^3(因此相应的位字符串是11000,从msb到lsb);我相信它可以很容易地翻译成Ruby
negabinary=lambda n:negabinary(-(n>>1))+str(n&1)如果n其他“”