整形转二进制

    技术2022-05-11  64

    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 ;

    最新回复(0)