delphi11 16进制负数转10进制
时间: 2023-08-04 10:07:02 浏览: 145
delphi 16进制转10进制
在 Delphi 中,可以使用 `StrToInt` 函数将字符串转换为整数。但是,如果字符串表示的整数是负数,需要将其转换为补码表示,然后再转换为十进制。
以下是将 16 进制负数转换为 10 进制的示例代码:
```delphi
function HexToDec(HexStr: String): Integer;
var
HexValue: Integer;
begin
// 将 16 进制字符串转换为整数
HexValue := StrToInt('$' + HexStr);
// 如果最高位为 1,表示为负数,需要转换为补码表示
if HexValue and $80000000 <> 0 then
HexValue := HexValue - $100000000;
Result := HexValue;
end;
```
使用示例:
```delphi
procedure TForm1.Button1Click(Sender: TObject);
var
HexStr: String;
DecValue: Integer;
begin
HexStr := 'FFFFFFFF'; // 负数 -1 的 16 进制表示
DecValue := HexToDec(HexStr);
ShowMessage(IntToStr(DecValue)); // 输出 -1
end;
```
希望可以帮到你!
阅读全文