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 ;