delphi中 十六进制转二进制的问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 15:57:34
最近在串口编程中遇到难题,特请教各位

1、在delphi中16进制如何转换成2进制
2、又如何截取2进制中的第某个字符是0还是1?

//将单个字符的串转换成字符 参数说明:Str:被转换的串
Function Str_StrToChar(Str: String): Char;
Begin
Result := #0;
If Length(Str) = 0 Then exit;
If Length(Str) > 1 Then exit;
Result := Str[1];
End;

//将一个十进制整型转换成二进制值 参数说明:Int:被转换的整型值
//Size:转换后的宽度:4位 8位 或更大
Function Str_IntToBin(Int: LongInt; Size: Integer): String;
Var
i: Integer;
Begin
If Size < 1 Then Exit;
For i := Size Downto 1 Do
Begin
If Int And (1 Shl (Size - i)) <> 0 Then
Result := '1' + Result
Else
Result := '0' + Result;
End;
End;

//将一个十六进制的值转换成整型 参数说明:Hex:被转换的十六进制值
Function Str_HexToInt(Hex: String): integer;
Var
HexDigital: Set Of char;
i: integer;
Digital: String;
Begin
Result := 0;
HexDigital := ['1', '2', '3', '4', '5', '6', '7', '