在紅 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?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。