我正在开发一个代码卡kata并且遇到了2个失败的测试用例.
kata描述是:将整数转换为二进制就像那样简单.您将获得一个整数作为参数,您必须返回其二进制形式.要了解如何将十进制数转换为二进制数,请访问此处.
注:负数应作为二进制补码处理; 假设所有数字都是使用任何语言的4个字节(或32位)存储的整数.
我的代码:
def to_binary(n)
temp_array = []
if n == 0
temp_array << 0
elsif n < 0
n = n % 256
while n > 0 do
temp_array << (n % 2)
n = (n / 2)
end
while temp_array.length < 32 do
temp_array << 1
end
else
while n > 0 do
temp_array << (n % 2)
n = (n / 2)
end
end
binary = temp_array.reverse.join
end
Run Code Online (Sandbox Code Playgroud)
测试用例是:
Test Passed: Value == "10"
Test …Run Code Online (Sandbox Code Playgroud)