Delphi没有直接提供整形转二进制的函数,就自己写了一个,贴出来与大家共享.
并没有对速度做优化,各位有更新的版本请共享,谢谢!
function Int2Bin(intVal: integer): string;
{整形转二进制串}
begin
//先转为16进制字串,然后从16进制串转为2进制串
return Hex2Bin(Format('%X', [intVal]));
end;
function Hex2Bin(hexVal: string): string;
{十六进制转二进制串}
Var
mHex: string;
begin
mHex := hexVal;
mHex := StringReplace(mHex, '0', '0000', [rfReplaceAll]);
mHex := StringReplace(mHex, '1', '0001', [rfReplaceAll]);
mHex := StringReplace(mHex, '2', '0010', [rfReplaceAll]);
mHex := StringReplace(mHex, '3', '0011', [rfReplaceAll]);
mHex := StringReplace(mHex, '4', '0100', [rfReplaceAll]);
mHex := StringReplace(mHex, '5', '0101', [rfReplaceAll]);
mHex := StringReplace(mHex, '6', '0110', [rfReplaceAll]);
mHex := StringReplace(mHex, '7', '0111', [rfReplaceAll]);
mHex := StringReplace(mHex, '8', '1000', [rfReplaceAll]);
mHex := StringReplace(mHex, '9', '1001', [rfReplaceAll]);
mHex := StringReplace(mHex, 'A', '1010', [rfReplaceAll]);
mHex := StringReplace(mHex, 'B', '1011', [rfReplaceAll]);
mHex := StringReplace(mHex, 'C', '1100', [rfReplaceAll]);
mHex := StringReplace(mHex, 'D', '1101', [rfReplaceAll]);
mHex := StringReplace(mHex, 'E', '1110', [rfReplaceAll]);
mHex := StringReplace(mHex, 'F', '1111', [rfReplaceAll]);
Result := mHex;
end;
207

被折叠的 条评论
为什么被折叠?



