mit folgenden Funktionen kann man eine natürliche Zahl in Bytes umwandeln
z.B. zum versenden über einen socket.
Delphi-Quellcode:
uses Math;
function CardinalToBytes(Num:integer):string;
var i,k,j:integer;
buffer:string;
begin
j:=ceil(log(num)/log(256));
k:=Power(2,j-1);
for i:=1 to j do begin
j:=Num DIV k;
buffer:=buffer+chr(j);
Num:=Num-j*k;
k:=k DIV 256;
end;
Result:=buffer;
end;
Delphi-Quellcode:
function BytesToCardinal(Code:string):integer;
var i,k,num:integer;
begin
k:=1;
num:=0;
for i:=Length(Code) downto 1 do begin
num:=num+ord(Code[i])*k;
k:=k*256;
end;
Result:=num;
end;