Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: Char nach BCD konvertieren?

  Alt 30. Apr 2005, 06:51
BCD heisst das in jedem Byte zwei Dezimalziffern untergebracht sind.
Je vier Bit (ein Nibble) enthalten die Werte 0..9.
Delphi-Quellcode:
var
  Value: Integer; // Zielwert
  Source: array [0..5] of Byte; // Beispiel fuer die BCD Bytes
  I: Integer;
begin
  Value := 0;
  for I := 0 to 5 do
  begin
    Value := Value * 10; // eine Ziffer links schieben
    // oberes Nibble rausknipsen
    Value := Value + Integer((Source[I] shr 4) and $F);
    Value := Value * 10; // eine Ziffer links schieben
    // unteres Nibble rausknipsen
    Value := Value + Integer(Source[I] and $F);
  end;
end;
Alles ohne Gewaehr, da hier eingetippt.
Es kann auch sein das du die Ziffern in umgekehrter Reihenfolge bekommst. Das muss man aus der Doku lesen oder ausprobieren.
  Mit Zitat antworten Zitat