Convert binary to hexadecimal
Hexadecimal format of a number is a reduced binary format of this number. Use BinToHex function to convert binary to hexadecimal format.
function BinToHex(BinStr: string): string; const BinArray: array[0..15, 0..1] of string = (('0000', '0'), ('0001', '1'), ('0010', '2'), ('0011', '3'), ('0100', '4'), ('0101', '5'), ('0110', '6'), ('0111', '7'), ('1000', '8'), ('1001', '9'), ('1010', 'A'), ('1011', 'B'), ('1100', 'C'), ('1101', 'D'), ('1110', 'E'), ('1111', 'F')); var Error: Boolean; j: Integer; BinPart: string; begin Result:=''; Error:=False; for j:=1 to Length(BinStr) do if not (BinStr[j] in ['0', '1']) then begin Error:=True; ShowMessage('This is not binary number'); Break; end; if not Error then begin case Length(BinStr) mod 4 of 1: BinStr:='000'+BinStr; 2: BinStr:='00'+BinStr; 3: BinStr:='0'+BinStr; end; while Length(BinStr)>0 do begin BinPart:=Copy(BinStr, Length(BinStr)-3, 4); Delete(BinStr, Length(BinStr)-3, 4); for j:=1 to 16 do if BinPart=BinArray[j-1, 0] then Result:=BinArray[j-1, 1]+Result; end; end; end;