16进制怎样转换成2进制 ( 积分: 50 )

  • 主题发起人 主题发起人 jimmy_che
  • 开始时间 开始时间
J

jimmy_che

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,谢谢!
 
HexToBin(Text, Buffer: PChar; BufSize: Integer);
 
function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer
这个函数是将一个数值的十六进制表达的字符串转换成 ASCII 码,而非二进制表达式。
试试用下面这个可以么?
function OcttoBin(i: integer): string; //十进制转换为二进制字符串
var
j: integer;
s: string;
begin
j := i;
s := ' ';
while j >= 2 do
begin
if (j mod 2) = 1 then
begin
s := '1' + s;
j := j div 2;
end
else
begin
s := '0' + s;
j := j div 2;
end;
end;
s := chr(ord('0') + j) + s;
result := s;
end;

function BintoOct(k: string): integer; //二进制字符串转换为十进制
var
i, j, t: integer;
s: char;
begin
t := 1;
j := length(k);
j := 0 + (ord(k[j]) - ord('0')) * t;
;
for i := length(k) - 1 downto 1 do
begin
s := k;
t := t * 2;
j := j + ((ord(s) - ord('0')) * t);
end;
result := j;
end;

function OcttoHex(i: integer): string; //十进制转换为四位的十六进制字符串
begin
result := InttoHex(i, 4);
end;

function HextoOct(k: string): integer; //十六进制字符串转换为十进制数
begin
result := StrtoInt('$' + k);
end;

function HextoBin(k: string): string; //十六进制字符串转换为二进制字符串
begin
result := OcttoBin(HextoOct(k));
end;

function BintoHex(k: string): string; //二进制字符串转换为四位的十六进制字符串
begin
result := Octtohex(BintoOct(k));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
caption := HextoBin(Edit1.Text);
end;
 
LZ不会连各常用数制之间如何换算都不懂吧?可以回家种田了。
 
Delphi自带。
 
帮助中输入hexto
 
to :LoveShanShan
你只会讽刺别人,不会解决实际问题,你可以不在大富翁呆了,可以去死了!
 
后退
顶部