Lord Horu$
Commander
- Registriert
- Mai 2008
- Beiträge
- 2.173
Moin liebe CB Community.
Ich hab vor kurzem meine Ausbildung angefangen und somit auch das Programmieren in Java.
Eher zum Zeitvertreib bastel ich momentan an ein Paar eigenen Sachen um mir Java selber beizubringen und so ganz schlecht läuft das auchnich.
Mein momentanes Projekt ist ein binärrechner.
Zahlen von Dezimal in Binär umrechnen klappt schon 1a nun gehts daran das Ganze umzudrehen und eben da häng ich.
Meine Intention ist die folgende (Es gibt sicher bessere Lösungen, nur ist das so der Stand des Wissens, welches ich mir bis jetzt angeeignet habe.)
Ich habe vor eine Binärzahl in ein Array mit 64 Stellen vom Typ Short einzulesen. Nehmen wir mal die 42 das wäre wenn mich mein Kopf nicht täuscht 101010. Jeder Platz des Arrays soll hier dann nur eine einzige Stelle der Zahl beinhalten also:
i=0 wäre 1
i=1 wäre 0
i=2 wäre 1
i=3 wäre 0
i=4 wäre 1
i=5 wäre 0
Die Potenz zur Berechnung wäre dann der Arrayindikator, nachdem er eingelesen hat (hier 5) und zum rechnen denn halt (2 ^[{Arrayindikator-Potenz}*{-1}])*Arrayinhalt+x. -Ich hoff die Rechnung war etz richtig ich hab gerade n RIESEn Strucktogramm vor mir - X wäre dann die Arraystelle, welche zuvor berechnet wurde. Das in ner Schleife solange bis das Array durch ist.
Also hier:
(2^(0-5)*(-1))*1+0 = 32
(2^(1-5)*(-1))*0+32 = 32
(2^(2-5)*(-1))*1+32 = 40
(2^(3-5)*(-1))*0+40 = 40
(2^(4-5)*(-1))*1+40 = 42
(2^(5-5)*(-1))*0+42 = 42
ENDE (Oh mann. Wie bin ich nur auf diese Rechnung gekommen?)
Nun zum eigentlichen Problem:
Wie bekomme ich die einzelnen Stellen in das Array wie oben beschrieben? Es ist bei dieser Methode nun wirklich notwendig dass die Binärzahlstellen in die einzelnen Arrayzellen eingelesen werden und nicht die ganze Zahl in eine Zelle.
Ich hoffe das is verständlich (und richtig) ich hab mich gerade nämlich selber etwas verwirrt .
MFG
Horu$
Ich hab vor kurzem meine Ausbildung angefangen und somit auch das Programmieren in Java.
Eher zum Zeitvertreib bastel ich momentan an ein Paar eigenen Sachen um mir Java selber beizubringen und so ganz schlecht läuft das auchnich.
Mein momentanes Projekt ist ein binärrechner.
Zahlen von Dezimal in Binär umrechnen klappt schon 1a nun gehts daran das Ganze umzudrehen und eben da häng ich.
Meine Intention ist die folgende (Es gibt sicher bessere Lösungen, nur ist das so der Stand des Wissens, welches ich mir bis jetzt angeeignet habe.)
Ich habe vor eine Binärzahl in ein Array mit 64 Stellen vom Typ Short einzulesen. Nehmen wir mal die 42 das wäre wenn mich mein Kopf nicht täuscht 101010. Jeder Platz des Arrays soll hier dann nur eine einzige Stelle der Zahl beinhalten also:
i=0 wäre 1
i=1 wäre 0
i=2 wäre 1
i=3 wäre 0
i=4 wäre 1
i=5 wäre 0
Die Potenz zur Berechnung wäre dann der Arrayindikator, nachdem er eingelesen hat (hier 5) und zum rechnen denn halt (2 ^[{Arrayindikator-Potenz}*{-1}])*Arrayinhalt+x. -Ich hoff die Rechnung war etz richtig ich hab gerade n RIESEn Strucktogramm vor mir - X wäre dann die Arraystelle, welche zuvor berechnet wurde. Das in ner Schleife solange bis das Array durch ist.
Also hier:
(2^(0-5)*(-1))*1+0 = 32
(2^(1-5)*(-1))*0+32 = 32
(2^(2-5)*(-1))*1+32 = 40
(2^(3-5)*(-1))*0+40 = 40
(2^(4-5)*(-1))*1+40 = 42
(2^(5-5)*(-1))*0+42 = 42
ENDE (Oh mann. Wie bin ich nur auf diese Rechnung gekommen?)
Nun zum eigentlichen Problem:
Wie bekomme ich die einzelnen Stellen in das Array wie oben beschrieben? Es ist bei dieser Methode nun wirklich notwendig dass die Binärzahlstellen in die einzelnen Arrayzellen eingelesen werden und nicht die ganze Zahl in eine Zelle.
Ich hoffe das is verständlich (und richtig) ich hab mich gerade nämlich selber etwas verwirrt .
MFG
Horu$