swift binary hex

Convierte entre decimal, binario y hexadecimal en Swift



binary (1)

Tanto String como Int tienen constructores que toman una radix (base). Combinándolos, puede lograr todas las conversiones:

// Decimal to binary let d1 = 21 let b1 = String(d1, radix: 2) print(b1) // "10101" // Binary to decimal let b2 = "10110" let d2 = Int(b2, radix: 2)! print(d2) // 22 // Decimal to hexadecimal let d3 = 61 let h1 = String(d3, radix: 16) print(h1) // "3d" // Hexadecimal to decimal let h2 = "a3" let d4 = Int(h2, radix: 16)! print(d4) // 163 // Binary to hexadecimal let b3 = "10101011" let h3 = String(Int(b3, radix: 2)!, radix: 16) print(h3) // "ab" // Hexadecimal to binary let h4 = "face" let b4 = String(Int(h4, radix: 16)!, radix: 2) print(b4) // "1111101011001110"

Lo que quiero saber es la manera más eficiente de convertir el código (en swift 2):

  • De decimal a binario
  • Binario a Decimal
  • Decimal a hexadecimal
  • Hexadecimal a decimal
  • Binario a hexadecimal
  • Hexadecimal a binario

Ya tengo una forma rudimentaria y larga de lograr esto, pero me gustaría encontrar una forma muy eficiente de hacerlo.

Lo siento si la pregunta es un poco larga ...