Delphi中的进制转换

二进制转换

function binToDec(Value: string): integer;

var

str: string;

i: integer;

begin

Str := UpperCase(Value);

result := 0;

for i := 1 to Length(str) do

result := result * 2 + ORD(str[i]) - 48;

end;

function mod_num(n1, n2: integer): integer; //取余数

begin

result := n1 - n1 div n2 * n2

end;

function reverse(s: string): string; //取反串

var

i, num: Integer;

st: string;

begin

num := Length(s);

st := '';

for i := num downto 1 do

begin

st := st + s[i];

end;

Result := st;

end;

function DecTobin(Value: Integer): string; //十进制转化二进制

var

ST: string;

N: Integer;

begin

ST := '';

n := value;

while n >= 2 do

begin

st := st + IntToStr(mod_num(n, 2));

n := n div 2;

end;

st := st + IntToStr(n);

Result := reverse(st);

end;

16进制转字符

function HexToChar(Str: string): string;

var

i: integer;

buf1: array[0..100] of byte;

begin

for i := 0 to (length(Str) div 2 - 1) do

begin

buf1[i] := strtoint('$' + copy(Str, i * 2 + 1, 2));

Result := Result + char(buf1[i]);

end;

end;

function CharToHex(Str: string): string;

var

i: integer;

ch: char;

begin

for i := 1 to (length(str)) do

begin

ch := Str[i];

Result := Result + inttohex(byte(ch), 2);

end;

end;

16进制转十进制

function hextoint(s: string): Integer;

begin //$代表16进制

Result:=StrToInt('$'+s);

end;

数据转换成二进制

function conertde(s:string):string;

var //数据都是以二进制的形式保存

i:integer;

begin

for i:=1 to length(s) do

result:=result+inttohex(ord(s[i]),2);

end;

非原创,收藏供查询。