Swift :: Aufgabe #172
1 Lösung

Zahlen umwandeln: Binär zu Dezimal
Anfänger - Swift
von Nachbar
- 13.09.2017 um 14:19 Uhr
Schreibe eine Funktion, die Zahlen aus dem Dualsystem in Zahlen des Dezimalsystems umwandelt.
Beispiel:
Binär: 11010
Dezimal: 26
Beispiel:
Binär: 11010
Dezimal: 26
Lösungen:

// Write some awesome Swift code, or import libraries like "Foundation", // "Dispatch", or "Glibc" func binumwandeln(wert: Int) -> String { var wert2 = wert var start = 0 var temp = [String]() if wert2 < 0 { return "0" } else { start = startSetzen(wertX: wert2) repeat { if start > wert2 { start = start / 2 temp.append("0") } else { temp.append("1") wert2 -= start start = start / 2 } } while (start > 0) if wert2 == 1 { temp.append("1") } return ausgabe(temp:temp) } } func ausgabe(temp: [String]) -> String { var text = "" var temp2 = temp temp2.remove(at: 0) for zahl in temp2 { text += String(zahl) } return text } func startSetzen(wertX: Int) -> Int { var temp = 1 repeat { temp *= 2 } while (temp <= wertX) return temp } extension String { func test(wert: Int) -> String {return binumwandeln(wert: wert)} } print(binumwandeln(wert: 967)) // 1111000111 print(binumwandeln(wert: 2)) // 10