给16进制数和2进制数赋值?我很急,谢谢 (100分)

  • 主题发起人 主题发起人 woodandwater
  • 开始时间 开始时间
W

woodandwater

Unregistered / Unconfirmed
GUEST, unregistred user!
假设我现在有一字符串str:='00100010'或str:='2a'怎样将这个字符串表示的值赋给一
个byte型的数
假设 a:byte
但inttostr,strtoint只能在整数和字符串之间转换,我现在的这个str不一定是整数
可能是其他字符,我只是想把字符串表示的8个0或1赋给一个8位的byte型的数
 
二进制字符串转换成整数的函数:

function BStrToInt(S: string): Integer;
var
i: Integer;
begin
Result := 0;
for i := 1 to Length(S) do
if S = '1' then
Result := Result + Round(Power(2, Length(S) - i))
end;
 
16进制的简单
a:= StrToInt('$2a');
就行了

二进制的,自己写一个函数也不复杂。
 
多人接受答案了。
 
后退
顶部