14. Mai 2011 12:41
14. Mai 2011 12:58
dadelduk hat geschrieben:Die Darstellung ist einwenig verschoben. Die einzelnen Zahlen gehören unter die halfbytes Spalten
--------first byte-------- ------second byte-------
halfbyte1 halfbyte2 halfbyte3 halfbyte4
0 1 2 5
14. Mai 2011 13:15
15. Mai 2011 22:57
BCD:=0;
for i := 3 downto 0 do
BCD += VAL /power(10,i)*power(2,i*4);
16. Mai 2011 11:07
16. Mai 2011 12:08
Zahl:=9999;
ZahlString:=FORMAT(Zahl,4,'<Integer,4><Filler Character,0>');
FOR i := 4 DOWNTO 1 DO
IF EVALUATE(Ziffer, FORMAT(ZahlString[i])) THEN BCD+=POWER(2,(4-i)*4)*Ziffer;
MESSAGE(FORMAT(BCD));
16. Mai 2011 13:18
BCD:=0;
val :=8000;
for i := 3 downto 0 do begin
posval := val div Power(10,i);
BCD += posval * power(2,i*4);
val -= posval * power(10,i);
end;
bins[1] := 1;
bins[2] :=16;
bins[3] :=128;
bins[4] :=256;
tens[1] :=1;
tens[2] := 10;
tens[3] := 100;
tens[4] :=1000;
BCD:=0;
for i := 4 downto 1 do begin
posval := val div tens[i];
BCD += (posval * bins[i]);
val -= (posval * tens[i]);
end;