Selamat datang di sonoku.com

Konversi Bilangan Heksadesimal ke Biner dengan Delphi

Bagi anda yang sering berhubungan dengan interface mikrokontroler dan PC kadang memerlukan konversi bilangan heksadesimal ke dalam bentuk Biner. Sebenarnya Delphi telah menyediakan fungsi HexToBin sendiri, tapi kali ini kita coba untuk mengkonversi bilangan heksadesimal dengan tipe data string dan menghasilkan bilangan biner dalam bentuk string juga.

Coba perhatikan fungsi berikut ini

function HexToBin(HexStr: 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'));
HexAlpha: set of char = ['0'..'9', 'A'..'F'];
var i, j: Integer;
begin
Result:='';
HexStr:=AnsiUpperCase(HexStr);
for i:=1 to Length(HexStr) do
if HexStr[i] in HexAlpha then
begin
for j:=1 to 16 do
if HexStr[i]=BinArray[j-1, 1] then
Result:=Result+BinArray[j-1, 0];
end
else
begin
Result:='';
ShowMessage('This is not hexadecimal number');
Break;
end;
if Result<>'' then
while (Result[1]='0')and(Length(Result)>1) do
Delete(result, 1, 1);
end;

dan berikut dara penggunaannya dalam program

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := HexToBin(Edit1.Text);
end;

Leave a Reply