C# Binärrechner

Status
Für weitere Antworten geschlossen.

Xsp

Lt. Commander
Registriert
Jan. 2010
Beiträge
1.711
Hallo Community,
ich habe ein Problem mit meinem Programm.
Ich bin grade dabei einen Binärrechner zu Programmieren.

Das heißt, man gibt zwei Zahlen ein z.B. 10 und 10 dazu einen Operator "+".

Dann sollen die beiden Zahlen durch ein Horner Schema umformatiert werden (1010 = 10)
Die beiden Binärzahlen 1010 sollen addiert werden und dann 20 = 10100 ergeben.

Dies soll mit Arrays Programmiert werden.

Hier mein Code:
while (intZahl > 0)
{
intZaehler++;
intErgebnis = intZahl % 2;
intZahl /= 2;
}
intErgebnis = intZahl;
int[] arrZahl = new int[intErgebnis];

while (intZahl2 > 0)
{
intZaehler++;
intErgebnis2 = intZahl2 % 2;
intZahl2 /= 2;
}
intErgebnis2 = intZahl2;
int[] arrZahl2 = new int[intErgebnis2];

intEndergebnis = intErgebnis + intErgebnis2;

int[] arrEnd = new int[intEndergebnis];

Console.Write("\n\t\tDas Ergebnis lautet:{0}\t", intEndergebnis);
Ich weis das man das noch mit einer Methode machen kann, aber das hatten wir noch nicht ganz. Nur, ich sag mal so "halb". :D

Mein Lehrer sagt immer, Programmieren ist "Logisch". Der Code ist für mich Logisch.

Wenn ich die beiden Zahlen, in dem Fall 10 Eingeben und den Operator "+" dann kommt als Ergebnis 0 raus.

Bitte um Hilfe, ich komme nicht weiter.
 
Arg, wenn das logisch ist für dich...

endergebns ist dir bei nur abhängig von ergebnis1 und ergebnis2. Diese beiden werden jeweils auf den wert von intZahl bzw. intZahl2 gesetzt, nachdem du in einer while schleife dafür gesorgt hast, das die beiden werte 0 sind. und nun wundert es dich, dass du in der konsole 0 stehen hast?
 
Das hier ist kein Hausaufgabenforum. Halte dich bitte an die Regeln.
Ich will auch nicht das Ihr mir die HA´s macht, ich wollte nur Fragen was da Falsch ist. ;)

endergebns ist dir bei nur abhängig von ergebnis1 und ergebnis2. Diese beiden werden jeweils auf den wert von intZahl bzw. intZahl2 gesetzt, nachdem du in einer while schleife dafür gesorgt hast, das die beiden werte 0 sind. und nun wundert es dich, dass du in der konsole 0 stehen hast?
hmm...ok
Also müsste ich die Zwischenergebnisse immer in ein Array Packen und nicht das Endergebnis der While Schleife.

Also z.B.
10/2=0 => ins Array
5/2= 4 Restwert 1 => ins Array
usw.

Und dann das Ergebnis umdrehen?

Ich muss das ganze glaube ich nochmal überdenken.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben