Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Hexadezimal in Binär

  Alt 18. Aug 2011, 11:02
Hallo,

Also deinen Code umgewandelt würde folgendes ergeben:
Delphi-Quellcode:
program HexToBin;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  h:integer;
  e,y,b:string;

begin
  repeat
    writeln('Gebe Hexadezimalzahl ein:');
    readln(e);

    b := '';
    for i:= 1 to Length(e) do
    begin
      if e[i] = '0then
        b := b + '0000'
      else
      if e[i] ='1then
        b := b + '0001'
      else
      if e[i] = '2then
        b := b + '0010'
      else
      if e[i] = '3then
        b := b + '0011'
      else
      if e[i] = '4then
        b := b + '0100'
      else
      if e[i] = '5then
        b := b + '0101'
      else
      if e[i] = '6then
        b := b + '0110'
      else
      if e[i] = '7then
        b := b + '0111'
      else
      if e[i] = '8then
        b := b + '1000'
      else
      if e[i] = '9then
        b := b + '1001'
      else
      if e[i] = 'Athen
        b := b + '1010'
      else
      if e[i] = 'Bthen
        b := b + '1011'
      else
      if e[i] = 'Cthen
        b := b + '1100'
      else
      if e[i] = 'Dthen
        b := b + '1101'
      else
      if e[i] = 'Ethen
        b := b + '1110'
      else
      if e[i] = 'Fthen
        b := b + '1111';
    end;

    writeln(b);
    writeln('');

    writeln('Beenden?[y]');
    readln(y);
  until y='y';
end.
ALLERDINGS:

Du solltest unabhängig von Groß- und Kleinschreibung prüfen.
Außerdem ist diese Lösung alles andere als ideal - Allerdings an deine Kenntnisse angepasst.
Das ganze wäre mit einem Case wahrscheinlich auch um einiges Übersichtlicher.
Einfacher wäre es aber auch den Hex-String in ein Integer umzuwandeln (IntToStr('$' + HexString)) und diese Zahl dann in einer Funktion in eine Binärzahl umzuwandeln.
Zu diesem Zweck hat DeddyH ja schon eine Antwort gegeben.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."