小编Rya*_*ase的帖子

在Ruby中将整数转换为二进制

我正在开发一个代码卡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)

ruby binary integer

2
推荐指数
1
解决办法
4012
查看次数

标签 统计

binary ×1

integer ×1

ruby ×1