Home
/
JavaForum
/
Beginner
Infos
|
Features
|
Gold-Edition
|
Kundenservice
java
Übersicht
Forum
-
Beginner
-
Java allgemein
-
JDBC
-
JNI
-
Networking
-
Online-Ressourcen
-
Swing + AWT
-
XML
-
Meckerecke
Mitglieder
LOGIN
User oder E-Mail
Passwort
·
Passwort vergessen
·
Kostenlos anmelden
Information
Demo
Features
Im Vergleich
Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
Kundenservice
Impressum
Datenschutz
AGB
Status
4.705 User online
0 User eingeloggt
Beiträge
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
Antworten
Neuer Beitrag
Gesamtdarstellung
Detaildarstellung
Einzeldarstellung
Threaddarstellung
Beitrag 517 von 2963 (17%)
Autor
exi
Datum
21.11.04, 03:11
Betreff
Re: dualzahl in dezimalzahl und andersrum
Hallo,
wie man die Zahlen in einander konvertiert solltest du in Mathe oder im Programmierkurs gehört haben.
Einfach ist die Umwandlung einer Dualzahl in eine Dezimalzahl. 1101 steht für 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 also für 8+4+0+1 = 13. Hier mußt du die Dualzahl als String entgegen nehmen, jede Ziffer einzeln erfassen, mit ihrer jeweiligen Zweierpotenz multiplizieren und insgesamt summieren.
Bei der anderen Umwandlung empfiehlt sich die Dateneingabe als Integer. Du mußt dann die kleinste Zweierpotenz herausfinden die größer ist als die gegebene Dezimalzahl. Damit hast du die Anzahl der Ziffern. (Oben waren das 4 Bit, denn 2^4=16 ist die kleinste Zweierpotenz die größer als 13 ist.) Weiterhin hast du, wenn du 1 subtrahierst die größte Zweierpotenz die du beachten mußt (oben war es 2^3). Merke dir also eine '1' und ziehe die entsprechende Zweierpotenz ab. Danach erfragst du wie oft die nächstkleinere Zweierpotenz in der verbliebenen Zahl aufgeht (einmal oder nullmal). Merkst dir diese (binäre)Ziffer und ziehst einmal oder nullmal die Zweierpotenz ab. Diesen Schritt wiederholst du solange bis die Differenz Null ergibt. Die gemerkten Ziffern kannst du direkt ausgeben.
Im Beispiel: Anfangs hast du 27. 2^5 = 32 ist höher, du wirst also 5 Ziffern erhalten.
2^4 = 16 kann von 27 subtrahiert werden, du merkst dir (binär) '1' und bildest 27-16 = 11.
2^3 = 8 kann von 11 subtrahiert werden, du merkst dir '1' und bildest 11-8 = 3.
2^2 = 4 kann nicht von 3 subtrahiert werden, du merkst dir '0' und bildest 3-0 = 3.
2^1 = 2 kann von 3 subtrahiert werden, du merkst dir '1' und bildest 3-2 = 1.
2^0 = 1 kann von 1 subtrahiert werden, du merkst dir '1' und bildest 1-1 = 0.
Du bist fertig und kannst die Binärzahlen zusammenführen: 27 (dezimal) = 11011 (binär).
tschüs
exi
tschüs
exi
Diskussionsverlauf:
dualzahl in dezimalzahl und andersrum
Re: dualzahl in dezimalzahl und andersrum
Auf diesen Beitrag antworten
Neuen Beitrag verfassen
Impressum
·
Datenschutz
·
AGB
·
Infos
·
Presse
Ein modernes Forum:
teamturn.com