Hallo zusammen.
Mir fällt leider kein besserer Bereich ein für das hier^^ sorry falls des falsch ist.
Ich habe eine Frage zur allgemeinen Formulierung der Umwandlung von Dezimal in Binär.
Da gibt es überall im inet folgende formel:
z = (z div d) * d + (z mod d)
z: natürliche zahl
d: basis
soweit hab ich das ja gecheckt. aber die ausformulierung erscheint mir seeehr kompliziert:
siehe word-datei komische sache...
Z.doc (19,5K)
Anzahl der Downloads: 151
kann mir da jemand weiter helfen das zu verstehen?
danke!!!
gruß
xdestroy
Seite 1 von 1
Frage Zu Zahlensystem... Umwandlung Dezimal Binär
Anzeige
#2
geschrieben 30. Januar 2007 - 05:46
fürleicht hilft dir das ein wenig weiter:
MFG
Stefan
Dezimal: 2000 2000/2=1000 Rest 0 ************************************************ 1000/2=500 Rest 0 ********************************************* * 500/2=250 Rest 0 ****************************************** * * 250/2=125 Rest 0 *************************************** * * * 125/2=62 Rest 1 ************************************ * * * * 62/2=31 Rest 0 ********************************* * * * * * 31/2=15 Rest 1 ****************************** * * * * * * 15/2=7 Rest 1 *************************** * * * * * * * 7/2=3 Rest 1 ************************ * * * * * * * * 3/2=1 Rest 1 ********************* * * * * * * * * * ------------------------------------------------------------------------ Binär 1 1 1 1 0 1 0 0 0 0 Rest => Differenz zwischen den vorhergehenden Wert und dem nächst kleineren durch 2 Teilbaren
MFG
Stefan
#3
geschrieben 30. Januar 2007 - 15:40
ja das verfahren hab ich verstanden. aber diese allgemeine formal dafür nicht...
gruß
gruß
#4
geschrieben 12. Februar 2007 - 14:33
hi,
hab mal dazu n keines c++ programm geschrieben, nur leider gibt er mir die zahlen falsch rum aus:
hier mal der code:
jemnd von euch vielleich ne idee, wie ich das ganze rumdrehen könnte?
soll nichts ernsthaftes werden, war nur ne kleine übung und ein produkt meiner langeweile !
mfg
Fabi
hab mal dazu n keines c++ programm geschrieben, nur leider gibt er mir die zahlen falsch rum aus:
fabi@aurora:~/Programmierung/Binaeerrechner$ ./rechner 00001011111
hier mal der code:
#include <iostream> #include "getch.h" #include <stdio.h> #include <stdlib.h> #include <unistd.h> using namespace std; int main() { int dezi; int binaer; int x = 2000; do { dezi = x; binaer = dezi % 2; x = dezi / 2; cout<< binaer; } while(x >= 1); cout << endl; getch(); return 0; }
jemnd von euch vielleich ne idee, wie ich das ganze rumdrehen könnte?
soll nichts ernsthaftes werden, war nur ne kleine übung und ein produkt meiner langeweile !
mfg
Fabi
Angehängte Datei(en)
-
Binaeerrechner.zip (4,52K)
Anzahl der Downloads: 59
#5
geschrieben 12. Februar 2007 - 15:58
Du könntest alles in nem Char-Array zwischenspeichern un dann verkehrt rum ausgeben!
Gibt aber bestimmt effektiverer Methoden
Gibt aber bestimmt effektiverer Methoden
#7
geschrieben 24. Februar 2007 - 18:24
Zitat (Stefan_der_held: 30.01.2007, 05:46)
fürleicht hilft dir das ein wenig weiter:
MFG
Stefan
Dezimal: 2000 2000/2=1000 Rest 0 ************************************************ 1000/2=500 Rest 0 ********************************************* * 500/2=250 Rest 0 ****************************************** * * 250/2=125 Rest 0 *************************************** * * * 125/2=62 Rest 1 ************************************ * * * * 62/2=31 Rest 0 ********************************* * * * * * 31/2=15 Rest 1 ****************************** * * * * * * 15/2=7 Rest 1 *************************** * * * * * * * 7/2=3 Rest 1 ************************ * * * * * * * * 3/2=1 Rest 1 ********************* * * * * * * * * * ------------------------------------------------------------------------ Binär 1 1 1 1 0 1 0 0 0 0 Rest => Differenz zwischen den vorhergehenden Wert und dem nächst kleineren durch 2 Teilbaren
MFG
Stefan
Wichtig bei dem Beispiel nochmal durch 2 Teilen bis 0 rauskommt, also:
Dezimal: 2000 2000/2=1000 Rest 0 ************************************************ 1000/2=500 Rest 0 ********************************************* * 500/2=250 Rest 0 ****************************************** * * 250/2=125 Rest 0 *************************************** * * * 125/2=62 Rest 1 ************************************ * * * * 62/2=31 Rest 0 ********************************* * * * * * 31/2=15 Rest 1 ****************************** * * * * * * 15/2=7 Rest 1 *************************** * * * * * * * 7/2=3 Rest 1 ************************ * * * * * * * * 3/2=1 Rest 1 ********************* * * * * * * * * * 1/2=0 Rest 1 ****************** * * * * * * * * * * ------------------------------------------------------------------------ Binär 1 1 1 1 1 0 1 0 0 0 0
Thema verteilen:
Seite 1 von 1