1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
Function IntToBin (Value: Integer; Digits: Integer) : string ;
var
st1 : string ;
i1 : integer ;
begin
st1 := '' ;
for i1 := 0 to Digits-1 do
begin
if (Round(Power(2,i1)) and value) > 0 then
st1 := '1'+st1
else
st1 := '0'+st1 ;
end ;
result := st1 ;
end ;
function IntToB32 (Value: Integer; Digits: Integer) : string ;
var
st1, st2,st3 : string ;
i1,i2 : integer ;
c1 : char ;
begin
st1 := intToBin (value,digits*5) ;
st3 := '' ;
for i1 := 0 to Digits-1 do
begin
st2 := copy(st1,i1*5+1,5) ;
i2 := ((ord(st2[5])-48) * 1) +((ord(st2[4])-48) * 2)
+((ord(st2[3])-48) * 4) +((ord(st2[2])-48) * 8) +((ord(st2[1])-48) * 16) ;
if i2 < 10 then c1 := char(48+i2) else c1 := char(55+i2) ;
st3 := st3+c1 ;
end ;
result := st3 ;
end ;
function B32ToInt (StValeur : String ) : integer ;
var
i1,i2,i3 : integer ;
begin
i3 := 0 ;
for i1 := 0 to length(StValeur)-1 do
begin
i2 := Ord (StValeur[length(StValeur)-i1])-48 ;
if i2>9 then i2 := i2 - 7 ;
i3 := i3 + (i2 shl (i1*5)) ;
end ;
result := i3 ;
end ; |
Partager