HexToBin函数怎么用?(10分)

  • 主题发起人 主题发起人 lijun175165721
  • 开始时间 开始时间
L

lijun175165721

Unregistered / Unconfirmed
GUEST, unregistred user!
HexToBin函数怎么用?
请大家给出见解!!!
 
十六进制字符串转换成相应的二进制
进制之间的转换,你想怎么用?
 
function IntToBin(Value: LongInt;Size: Integer): String;
var
i: Integer;
begin
Result:='';
for i:=Size-1 downto 0 do
begin
if Value and (1 shl i)<>0 then
Result:=Result+'1'
else
Result:=Result+'0';
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
hex:string;
begin
hex:='ffff';
Label1.Caption:=IntToBin(strtoint('$'+hex),8)
//??ê?£o01111111
end;
 
谢谢大家的回答!HexToBin函数,能不能把16进制转换为2进制,并把它输出为二进制数据!
 
lmxcyx:
if Value and (1 shl i)<>0 then这条语句看不懂!
 
谢谢大家的回答
 
var FBin :array [0..1] of Char
//要比准备转二进制多一倍的空间才装得完
BinToHex :'A' 二进制 01000001 , HexToBin('A',FBin,SizeOf('FBin')) ,FBin='41' 二进制 00000100 + 00000001
HexToBin 只是把二个字符(低4位)合成一个8位的字符(分别放到高低4位)
BinToHex 与 HexToBin 互逆操作

Value and (1 shl i) : 如果i=3, Value =13 13的二进制 0000(28个0)....1101 整数是32位数 1的二进制 0000(28个0)....0001,向左移3位 = 0000(28个0)....1000
则 1101 and 1000 =1000 <>0说明了 13的二进制第4位为1
 
后退
顶部