如何将String中的二进制数转换成int(10分)

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

JackKen

Unregistered / Unconfirmed
GUEST, unregistred user!
一个string如'100111'如何将他转换成int,这个string中的是二进制数,不能用
strtoint,有什么函数可以用?
 
好象没有这个函数。 自己写个小程序就行了!
 
Function BinStrToInt(BinStr: String): integer;
Var
counter: integer;
Function pow(base, power: integer): integer;
Var
counter: integer;
begin
Result := 1;
For counter := 1 To powerdo
Result := Result * base;
end;
begin
If length(BinStr) > 16 then
Raise ERangeError.Create(#13 + BinStr + #13 +
'is not within the valid range of a 16 bit binary.' + #13);
Result := 0;
For counter := 1 To length(BinStr)do
If BinStr[Counter] = '1' then
Result := Result + pow(2, length(BinStr) - counter);
end;
 
没这么复杂吧?定义一个byte,是‘1’的根据其位置or上一个2^n不就可以了?
 
接受答案了.
 
后退
顶部