Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Hexadezimal in Binär (https://www.delphipraxis.net/162340-hexadezimal-binaer.html)

DeddyH 18. Aug 2011 13:11

AW: Hexadezimal in Binär
 
Delphi-Quellcode:
case c of
  'A', 'a': d := 10;
  'B', 'b': d := 11;
  'C', 'c': d := 12;
  'D', 'd': d := 13;
  'E'; 'e': d := 14;
  'F', 'f': d := 15;
  '0'..'9': d:=StrToInt(c);
  else
    //Fehler: ungültiges Zeichen, irgendwie behandeln
end;

Marcel2906 18. Aug 2011 13:25

AW: Hexadezimal in Binär
 
aber fehlt nicht dieser ausdruck noch bei jedem fall von c:

Code:
c:=IntToStr(d);
nur leider geht das nicht

DeddyH 18. Aug 2011 13:31

AW: Hexadezimal in Binär
 
Wieso willst Du aus der Zahl nun wieder einen String machen? Das brauchst Du doch erst ganz am Schluss, wenn Du das Ergebnis in binärer Schreibweise wieder ausgeben willst. Aber wir können uns das auch einfacher machen, ich weiß nur nicht, ob das Deinem Lehrer/Ausbilder gefällt.
Delphi-Quellcode:
var
  Zahl: integer; //oder Cardinal oder oder...
begin
  ...
  if TryStrToInt('$' + h, Zahl) then
    writeln(IntToBin(Zahl));

Marcel2906 18. Aug 2011 13:32

AW: Hexadezimal in Binär
 
sry, ich bin nicht mehr bei dem binär, sondern hex in dezimal...
hatte gedacht ich mach nicht extra ein neues Thema auf

DeddyH 18. Aug 2011 13:37

AW: Hexadezimal in Binär
 
Wie gezeigt ginge es auch, ein $ dem String voranzustellen und das an (Try)StrToInt zu übergeben, aber das soll ja wahrscheinlich nicht der Zweck der Übung sein. Dann also zu Fuß:
- String von hinten nach vorn durchgehen
- Multiplikator initial auf 1 setzen
- Ergebnis initial auf 0
- Zeichen in Zahl wandeln (case-Verzweigung wie gezeigt)
- ermittelte Zahl mit Multiplikator multiplizieren und zum Ergebnis addieren
- Multiplikator mit 16 miltiplizieren

Wenn ich nichts vergessen habe, sollte es so funktionieren.

TBx 18. Aug 2011 14:14

AW: Hexadezimal in Binär
 
Zitat:

Zitat von Marcel2906 (Beitrag 1117851)
sry, ich bin nicht mehr bei dem binär, sondern hex in dezimal...
hatte gedacht ich mach nicht extra ein neues Thema auf

doch, genau das solltest Du.

Von daher

*** Closed ***


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr.
Seite 2 von 2     12   

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