Einzelnen Beitrag anzeigen

StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#6

Re: hex und Integer als Binärzahl adieren

  Alt 28. Jun 2004, 13:24
Wenn du wirklich was von Dez --> Bin umrechnen willst hab ich dir hir eine funktion die ich mal geschrieben hab:
Delphi-Quellcode:
function DezZuBin(zahl: Int64): String;
begin
  result := '';
  repeat
    if (zahl mod 2) = 0 then
      result := '0' + result
    else
      result := '1' + result;
    zahl := zahl div 2;
  until zahl < 1;
end;
und noch die passende funktion um die binären zu addieren...
Delphi-Quellcode:
function AddierBin(zahl, um: String): String;
var
  n : Integer;
  ueber: String;
  ergeb: String;
begin
while Length(zahl) < Length(um) do
  zahl := '0' + zahl;
zahl := '0' + zahl; // 10 -> 010

while Length(um) < Length(zahl) do
  um := '0' + um;

SetLength(ueber,Length(zahl));
for n := 1 to Length(ueber) do
  ueber[n] := '0';

SetLength(ergeb,Length(zahl));
// XOR
for n := length(zahl) downto 1 do
  case (StrToInt(zahl[n]) + StrToInt(um[n]) + StrToInt(ueber[n])) of
    0: ergeb[n] := '0';
    1: ergeb[n] := '1';
    2: begin
         ueber[n - 1] := '1';
         ergeb[n] := '0';
       end;
    3: begin
         ueber[n - 1] := '1';
         ergeb[n] := '1';
       end;
  end;

if ergeb[1] = '0then ergeb := Copy(ergeb, 2, Length(ergeb) - 1);
if ueber[1] = '0then ueber := Copy(ueber, 2, Length(ueber) - 1);
result := ergeb;
end;
  Mit Zitat antworten Zitat