decimal to binary in matlab

Upload: jans-hendry

Post on 22-Jul-2015

507 views

Category:

Documents


25 download

TRANSCRIPT

Signal processing

May 31, 2012

DECIMAL TO BINARY IN MATLAB

Untuk mengubah bilangan desimal ke biner bukanlah hal yang susah. Ada dua cara yang bisa digunakan yakni: Membandingkan dengan bilangan pangkat dua yang disusun secara urut dari terbesar ke yang terkecil. Teknik ini tidak rumit, terbilang mudah tapi memiliki keterbatasan. Terlebih untuk angka desimal yang sangat besar sehingga anda harus terlebih dahulu menuliskan list bilangan pangkat dua tersebut sebanyak mungkin hingga melebihi bilangan yang ingin diubah ke biner. Cara kerjanya adalah dengan mencari bilangan pangkat dua terbesar yang lebih kecil dari bilangan desimal tersebut. Lalu angka desimal tersebut dikurangi dengan bilangan pangkat dua tersebut (yang terpilih). Jangan lupa untuk meletakkan angka 1 pada (di bawah) angka pangkat dua tersebut. Hal ini akan terus berlanjut hingga mencapai bilangan pangkat dua terkecil yakni 1 = 20. Jika ditemukan ada bilangan pangkat dua yang lebih besar dari bilangan desimal setelah mengalami operasi pertama, maka diberi angka nol saja. Mudah tapi membutuhkan waktu dan ruang yang cukup besar. Saya tidak akan menjelaskan ini lebih rinci karena kekurangannya itu. Jadi saya memilih untuk menjelaskan metode yang kedua yang juga sederhana, mudah tapi lebih efisien.

-

Short division by two reminder. Tekni ini menggunakan pembagian angka desimal dengan angka 2 hingga dicapai angka terkecil dari bilangan desimal, misalnya 1 atau 0, yang notabene merupakan sisa dari pembagian akhir bilangan desimal tersebut terhadap angka 2. Mengapa angka 2? Yah, ini kan bilangan biner... Untuk memudahkan dalam penjelasan, kita langsung membahas sebuah contoh saja. Misalkan kita memiliki sebuah bilangan desimal 123. Untuk mendapatkan bilangan binernya, ikuti langkah-langkah berikut:

[[email protected]]

Page 1

Signal processing

May 31, 2012

LSB 2 2 2 2 2 2 123 61 0 30 15 7 1 3 1 MSB 1 1 1 1 SISA PEMBAGIAN

PEMBAGI

LSB 2 2 2 2 2 2 64 32 0 16 8 4 0 2 1 MSB 0 0 0 0 SISA PEMBAGIAN

PEMBAGI

Berdasarkan gambar di atas (contoh) tampak dengan jelas bahwa MSB (most significant bit) merupakan sisa terakhir dari operasi sedangkan LSB (least significant bit) merupakan bit paling awal dalam operasi. Perlu diingat sekali lagi bahwa nilai 1 dan 0 merupakan SISA dari hasil operasi. Bukan nilai pengali dengan 2 (pembagi). Sehingga pada contoh di atas, 12310 = 11110112.

[[email protected]]

Page 2

Signal processing

May 31, 2012

Dalam matlab, programnya adalah

% program desimal ke biner function bit=des2binn(des) k=1; while des>=2 bagi=rem(des,2); if bagi==1 des=(des-1)/2; bit(k)=1; else des=des/2; bit(k)=0; end k=k+1; end bit=fliplr([bit rem(des,2)]); % jans

Contoh hasil eksekusi dari program di atas

Hanya program sederhana yang akan saya gunakan dalam membuat program FFT. Thanks...

[[email protected]]

Page 3