Aus Das deutschsprachige Scratch-Wiki
In diesem Tutorial werden die Grundlagen der Umwandlung von Zahlen in Binärzahlen erklärt.
Erklärung
Binär ist ein base-2 Zahlensystem das 2 Ziffern benutzt; 0
und 1
.
Die Verwendung von Binärwerten in Scratch-Projekten ermöglicht eine sehr einfache Kodierung und Dekodierung von Werten. Da Cloud-Variablen eine begrenzte Anzahl von Ziffern enthalten, wird durch die Konvertierung einer Liste von Wahr/Falsch-Werten von binär nach dezimal der begrenzte Speicher effizienter genutzt.
Nummern zu Binär umwandeln
![]() |
Diese Methode funktioniert nur mit positiven Integer (ganze Zahlen von 0 bis 2.147.483.647). |
Für dieses Tutorialprogramm werden zwei Variablen benötigt. Die folgenden Variablen sind erforderlich:
(Binär)
(index)
Sobald diese Variablen erstellt wurden, sollte das folgende Skript hinzugefügt werden, um eine Zahl in eine Binärzahl umzuwandeln:
Definiere Nummer zu Binär (nummer) setze [index v] auf (nummer) setze [binär v] auf () falls <(nummer) < [0]>, dann stoppe [dieses Skript v] //stoppt eine Endlose Schleife, wenn die Zahl Negativ ist end wiederhole bis <(index) = (0)> setze [binär v] auf (verbinde ((index) mod (2)) und (binär)) setze [index v] auf ([abrunden v] von ((index) / (2))) end
Ebenso sollte das folgende Skript hinzugefügt werden, um Binärzahlen in Zahlen umzuwandeln:
((0) + (verbinde [0b] und (binär)))
Dieses Skript funktioniert, weil JavaScript (auf dem Scratch aufbaut) Zahlen mit "0b" am Anfang als binär interpretiert.[1] Durch Hinzufügen von 0 zur String wird der String in eine Zahl umgewandelt.
Auffüllen von Binärzahlen
Das nachstehende Skript wandelt eine Binärzahl in eine gleichwertige Binärzahl um und fügt am Anfang 0 hinzu, so dass die Zahl ein Vielfaches von 8 Ziffern hat. Beispiel:
101 -> 00000101
11101 -> 00011101
11101110 -> 11101110
101101101 -> 0000000101101101
1101101101110 -> 0001101101101110
Skript:
Definiere Auffüllen der Binärzahl auf ein Vielfaches von 8 Ziffern (binär) setze [binär v] auf (binär) wiederhole bis <((Länge von (binär:: variables)) mod (8)) = (0)> setze [binär v] auf (verbinde (0) und (binär:: variables)) end
Demo
Siehe auch
- Mehr zu Binär auf Wikipedia