1. ホーム
  2. swift

Swiftで10進数を2進数に変換する方法とは?

2023-12-28 14:38:34

質問

SwiftでIntをUInt8に変換するにはどうすればよいですか? 例 私は番号22を0b00010110に変換したいです。

var decimal = 22
var binary:UInt8 = ??? //What should I write here?

どのように解決するのですか?

10進数の値を人間が読みやすい2進数に変換することができます。 表現 に変換することができます。 String イニシャライザーは radix パラメータを取る初期化子です。

let num = 22
let str = String(num, radix: 2)
print(str) // prints "10110"

やろうと思えば、0をいくつでも詰め込むことも簡単にできます。

スウィフト 5

func pad(string : String, toSize: Int) -> String {
  var padded = string
  for _ in 0..<(toSize - string.count) {
    padded = "0" + padded
  }
    return padded
}

let num = 22
let str = String(num, radix: 2)
print(str) // 10110
pad(string: str, toSize: 8)  // 00010110