Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte » 

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Umrechnen von Zahlensystemen (https://www.delphipraxis.net/162536-umrechnen-von-zahlensystemen.html)

JP29 27. Aug 2011 13:34

Umrechnen von Zahlensystemen
 
Hallo Leute,
und zwar habe ich ein Problem bezüglich von Umrechnungen in verschiedene Zahlensyseme. In der Schule haben wir jetzt gelernt verschiedene Zahlensysteme (dezimal, binär, hexadezimal) umzurechnen und in diesen zu rechnen.
Jetzt hat unser Info-Lehrer die Aufgabe erteilt in einem Programm Zahlen von dezimal zu binär und anders rum umzurechnen. Die Theorie versteh ich ja, aber ich weiß nicht wie ich das umsetzen soll. Ich geh übrigens in die 10. Klasse, also es sollte möglichst einfach gehalten sein, so dass ich das auch verstehe.

Mfg JP29. :)

waldforest 27. Aug 2011 13:45

AW: Umrechnen von Zahlensystemen
 
Hallo,
schau mal hier im Forum nach und nutze die Suchfunktion.
Hier gibt es schon einen Beitrag zu diesem Thema

z.B.
http://www.delphipraxis.net/143001-u...lensystem.html

oder in der CodeLib
http://www.delphipraxis.net/36897-vo...n-anderes.html
weitere Beispiele, unter den Begriffen Zahlensystem

JP29 27. Aug 2011 14:01

AW: Umrechnen von Zahlensystemen
 
Ja, den habe ich auch schon gesehen, aber da sehe ich nicht durch :o.

JP29 27. Aug 2011 14:15

AW: Umrechnen von Zahlensystemen
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var x, y : Integer;
    result, c : String;
begin
 x:=StrToInt(Edit1.Text);
 repeat
  begin
   x DIV 2:= x;
   x MOD 2:= y;
   c:=IntToStr(y);
   result:=copy(c,1,1);
  end;
 until x=0;
edit2.Text:=(result);
hier hab ich mal ausprobiert, wie es gehen könnte, aber das funktioniert nicht. könnt ihr mir bitte, bitte helfen!!

Aphton 27. Aug 2011 14:21

AW: Umrechnen von Zahlensystemen
 
Lern die Syntax zuerst.

himitsu 27. Aug 2011 15:26

AW: Umrechnen von Zahlensystemen
 
Zitat:

hier hab ich mal ausprobiert
Du hast in
Delphi-Quellcode:
n
deine Zahl ... warum rechnest du dann niemals mit
Delphi-Quellcode:
n
?

Und zur Syntax:
Zitat:

Delphi-Quellcode:
x DIV 2:= x;
x MOD 2:= y;

Delphi-Quellcode:
x := n MOD 2;
v := n DIV 2;
Zitat:

Delphi-Quellcode:
c:=IntToStr(y);
result:=copy(c,1,1);

Was soll das COPY?
Über
Delphi-Quellcode:
MOD 2
bekommt man doch sowieso nur eine einstellige Zahl raus.
Und wo läßt du die vorherigen Ergebnisse? Result würd jedesmal überschrieben
Delphi-Quellcode:
result := Result + IntToStr(x);
.

Tipp: Nenn besser keine Variable Result ... denn so heißt das "Result" jeder Funktion und das könnte mal missverständlich enden.

Tipp 2: Im Debugger kann man sich die Werte seiner Variablen ansehn und so erkennen was wie wo (falsch) läuft.

JP29 27. Aug 2011 17:41

AW: Umrechnen von Zahlensystemen
 
also...ok mit dem n war ein fehler.
aber das result hab ich ja als string und ich kopiere das neu errechnete ja dann immer den string result rein damit das vorherige erhalten bleibt.

himitsu 27. Aug 2011 20:04

AW: Umrechnen von Zahlensystemen
 
Zitat:

Zitat von JP29 (Beitrag 1119928)
aber das result hab ich ja als string und ich kopiere das neu errechnete ja dann immer den string result rein damit das vorherige erhalten bleibt.

Falsch,
Delphi-Quellcode:
Result := ...;
weißt Result immer einen komplett neuen Wert zu ... das erste Zeichen des String c.
Und dabei geht natürlich der vorherige Inhalt von Result verloren.

Soll das neue Zeichen angehängt werden, dann mußt du entweder Result nehmen und c anhängen (
Delphi-Quellcode:
Result + c
) und das Ergebnis an Result übergeben (siehe mein Beispiel in #6)
oder du nimmst Delphi-Referenz durchsuchenInsert und fügst das c hinten ein.

JP29 27. Aug 2011 20:14

AW: Umrechnen von Zahlensystemen
 
also danke erstmal für die hilfe...deine antwort habe ich verstanden, aber vom prinzip her also wie ich das meine die einzelnen werte in einem string zu speichern is in ordnung oder?!

JP29 27. Aug 2011 20:24

AW: Umrechnen von Zahlensystemen
 
cool...das programm an sich funktioniert jetzt, allerdings rechnet er nicht richtig z.b rechnet er 12 in 011101111000010101010110 um:
Was ist denn an meinen rechenweg falsch??


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 Uhr.
Seite 1 von 4  1 23     Letzte » 

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf