Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
Delphi 2005 Personal
|
Re: Konvertierung Binär Dezimal
8. Dez 2005, 18:25
So funktionierts:
Delphi-Quellcode:
type
t0t9=0..9;
t0t9a=array of t0t9;
[...]
procedure addt0t9(var value:t0t9a; const add:t0t9a);
var
i,j,k,rest,newrest:integer;
begin
for i:=length(add)-1 downto 0 do begin
if length(value)<=i then begin
setlength(value,i+1);
value[i]:=0;
end;
rest:=(add[i]+value[i]) div 10;
value[i]:=(add[i]+value[i]) mod 10;
j:=i+1;
while rest>0 do begin
if length(value)<=j then
begin
setlength(value,j+1);
value[j]:=0;
end;
newrest:=(rest+value[j]) div 10;
value[j]:=(rest+value[j]) mod 10;
rest:=newrest;
j:=j+1;
end;
end;
end;
function binaraytostring(const bins:array of boolean):string;
var
intarray:t0t9a;
value2add:t0t9a;
i,j,k,l,m,factor:integer;
einsweiter:boolean;
weiter:integer;
begin
factor:=1;
for i:=0 to length(bins)-1 do begin
//in value2add den integerwert des bins speichern
setlength(value2add,1);
if bins[i]=true then
value2add[0]:=1
else
value2add[0]:=0;
//value2add multiplizieren
for j:=2 to factor do begin
addt0t9(value2add,value2add);
end;
//value2add zu intarray hinzufügen
addt0t9(intarray,value2add);
//stellenwert um 1 erhöhen
factor:=factor+1;
end;
result:='';
for i:=0 to length(intarray)-1 do
result:=inttostr(intarray[i])+result;
setlength(intarray,0);
setlength(value2add,0);
end;
Die Binaries müssen so angegeben werden dass die 1er-Stelle vorne ist (0), die 2er element 1, die 4er element 2, die 8er element 3 usw...
Michael Enßlin Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
|
|
Zitat
|