|
Home - Programmieren - Visual Basic - VB: Dezimalzahl in Binärzahl umrechnen
Hinweis: Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich. Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren. [Druckansicht] [Als E-Mail senden] [Kommentar verfassen] Einleitung Um Zahlen vom dezimalen ins binäre Zahlensystem umzurechnen, kann man sich einfach des Windows Rechners bedienen. Mit der Funktion, die in den nächsten Schritten geschrieben und erklärt wird, geht das ebenfalls. Wie funktioniert die Umrechnung? Die Umrechnung einer Dezimalzahl in eine Binäre ist relativ einfach. Ich demonstriere dies anhand eines Beispiels. Das binäre Zahlensystem hat die Basis 2, da jede Stelle nur 2 Zustände annehmen kann. Nun teilt man die dezimale Zahl durch die Basis und schreibt den Rest hin. 125 / 2 = 62, Rest 1Als nächstes nimmt man das Resultat der Division (nur ganzzahliger Teil!) und teilt es wieder durch zwei. 62 / 2 = 31, Rest 0Man fährt damit so lange weiter, bis keine Division mehr möglich ist. D.h. solange das Resultat größer als 0 ist. 31 / 2 = 15, Rest 1 15 / 2 = 7, Rest 1 7 / 2 = 3, Rest 1 3 / 2 = 1, Rest 1 2 / 2 = 0, Rest 1Null kann nicht weiter dividiert werden, der Vorgang ist also abgeschlossen. Aus einer Division durch 2 kann nur der Rest 0 oder 1 resultieren - aus den Resten kann man nun die binäre Zahl bilden. Dazu liest man die Reste der Divisionen von unten nach oben. Die binäre Zahl lautet in diesem Beispiel 1111101. Umsetzung Nun müssen die Erklärungen vom obigen Beispiel in einem Programmcode formuliert werden. Als "Zwischending" eignet sich am besten ein Nassi/Schneidermann Diagramm, welches den Ablauf präzise beschreibt und trotzdem nicht Programmiersprachenabhängig ist. In der Schleife wird zunächst das Resultat der Division ermittelt. In der zweiten Anweisung wird nun der Rest der Division mit dem Modulo-Operator (%) ermittelt. Die Zahl für den nächsten Schleifendurchlauf ist der ganzzahlige Teil der Division aus der ersten Anweisung. Nun wird ein Ausgabestring mit dem aktuellen Rest verkettet. Die Schleife wird so lange ausgeführt, wie das Resultat größer oder gleich 1 ist. Der Ausgabestring liegt nun noch in der falschen Reihenfolge vor. Zur Erinnerung - man liest die Zahlenfolge von unten nach oben (bzw. von links nach rechts). Der String muss nun noch umgekehrt werden und die binäre Zahl ist korrekt berechnet. Implementierung Für die Implementierung der Funktion habe ich Visual Basic 6 verwendet, da ich das Problem mit den wenigsten Codezeilen lösen konnte. Mit dem Nassi/Schneidermann-Diagramm sollte aber eine Implementierung in die meisten Hochsprachen möglich sein.
|
Autoren:04150
Artikel:00819 Glossar:04124 News:13569 Userbeiträge:16268 Queueeinträge:05150
Projektsteuerung statt Anwesenheitskontrolle
MONDroid - your monitoring Solution for Android with PRTG-Support Red-Hosting jetzt mit erweitertem Shop-Webhosting-Angebot [Mehr News]
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
|