在红 gems ,将数字转换为二进制涉及利用内置方法或实现自定义算法。二进制表示是以 2 为基数的数字系统,其中每个数字可以是 0 或 1。
在 Ruby 中将数字转换为二进制的方法有很多种,例如:
- 使用 %b 格式的字符串插值
- 将 Integer#to_s 与基本参数一起使用
- 使用按位运算符
使用 %b 格式的字符串插值
Ruby 具有字符串格式化函数,可与 % 和格式说明符一起使用,%b 用于二进制表示。它只是将数字更改为字符串中的二进制形式。
用法:
“%b” % number
例子:
number = 42
binary_string = "%b" % number
puts binary_string
输出
101010
将 Integer#to_s 与基本参数一起使用
与前面的方法一样,整数类也可以将整数转换为字符串,可以选择指定该字符串作为基数。通过指定基数 2,您将获得二进制表示形式。
用法:
binary_string = number.to_s(2)
示例:
number = 42
binary_string = number.to_s(2)
puts binary_string
输出
101010
使用按位运算符
还有其他方法,例如通过按位运算进行移位,您可以手动将数字转换为二进制,所有这些都需要更多的控制,但也需要更多的代码。
用法:
def to_binary(number)
binary_string = ""
until number == 0
bit = number & 1
binary_string.prepend(bit.to_s)
number >>= 1
end
binary_string
end
例子:
def to_binary(number)
binary_string = ""
until number == 0
bit = number & 1
binary_string.prepend(bit.to_s)
number >>= 1
end
binary_string
end
number = 42
binary_string = to_binary(number)
puts binary_string
输出
101010
结论:
Ruby 允许使用不同的方法将数字转换为二进制形式;其中包括采用节省时间和空间的典型技术,以及制定透明度和定制化的定制解决方案。纯粹根据您想要的可读性、高效性或可控性来选择是否编写更清晰或更快的代码。
相关用法
- Ruby Array.assoc(obj)用法及代码示例
- Ruby Array.collect用法及代码示例
- Ruby Array.combination()用法及代码示例
- Ruby Array.cycle()用法及代码示例
- Ruby Array.delete_if用法及代码示例
- Ruby Array.drop_while用法及代码示例
- Ruby Array.each用法及代码示例
- Ruby Array.each_index用法及代码示例
- Ruby Array.flatten用法及代码示例
- Ruby Array.index()用法及代码示例
- Ruby Array.insert()用法及代码示例
- Ruby Array.join()用法及代码示例
- Ruby Array.keep_if用法及代码示例
- Ruby Array.pack()用法及代码示例
- Ruby Array.permutation()用法及代码示例
- Ruby Array.product()用法及代码示例
- Ruby Array.rassoc()用法及代码示例
- Ruby Array.rassoc(obj)用法及代码示例
- Ruby Array.reject用法及代码示例
- Ruby Array.repeated_combination()用法及代码示例
- Ruby Array.repeated_permutation()用法及代码示例
- Ruby Array.replace()用法及代码示例
- Ruby Array.reverse用法及代码示例
- Ruby Array.reverse_each用法及代码示例
- Ruby Array.rotate()用法及代码示例
注:本文由纯净天空筛选整理自bytebarde55大神的英文原创作品 How to convert a number to Binary in Ruby?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。