carookee - group communication for you
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





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.416 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

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