delphi 2进制负数转10进制
时间: 2023-08-05 11:01:53 浏览: 98
在 Delphi 中,可以使用 StrToInt 函数将二进制字符串转换为十进制整数。但是,要将负数的二进制字符串转换为十进制整数,则需要进行额外的处理。
以下是将带符号的二进制字符串转换为十进制整数的示例代码:
```delphi
function BinToDec(const Bin: string): Integer;
var
I, Sign: Integer;
begin
Result := 0;
Sign := 1;
// 判断是否为负数
if Bin[1] = '1' then
begin
Sign := -1;
// 取反
for I := 1 to Length(Bin) do
begin
if Bin[I] = '1' then
Bin[I] := '0'
else
Bin[I] := '1';
end;
end;
// 转换为十进制
for I := Length(Bin) downto 1 do
begin
if Bin[I] = '1' then
Result := Result + Round(Power(2, Length(Bin) - I)) * Sign;
end;
end;
```
使用方法:
```delphi
var
BinStr: string;
DecNum: Integer;
begin
BinStr := '11111110'; // -2 的二进制表示
DecNum := BinToDec(BinStr);
ShowMessage(IntToStr(DecNum)); // 显示 -2
end;
```
阅读全文
相关推荐

















