تبدیل اعداد مبنای 2 به مبنای 16

با استفاده از این تابع می توانید اعداد مبنای 2 را به مبنای 16 تبدیل کنید

function BinToHex(Binario:string):string; const BCD:array[0..15]ofstring= ('0000','0001','0010','0011','0100','0101','0110','0111', '1000','1001','1010','1011','1100','1101','1110','1111'); HEX:array[0..15]of char= ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'); var i,n:integer; sTemp:string; sNibble:string; begin Result:=''; sTemp:=Binario+Copy('000',1,Length(Binario)mod4); for i:=0to(Length(Binario)shr2)-1do begin sNibble:=Copy(sTemp,(i shl2)+1,4); n:=8; while(sNibble <> BCD[n])do if sNibble < BCD[n]then Dec(n)else Inc(n); Result:=Result+HEX[n]; end; end; به عنوان مثال Label1.Caption:=BintoHex('100011100100101011');

/ 0 نظر / 33 بازدید