Aritmetic Integer Multiplicant (Perkalian)

Aritmetic Integer Multiplicant (Perkalian)


Contoh perkalian:
11 × 13
                          1 0 1 1
                          1 1 0 1
                ---------------------- ×
                          1 0 1 1
                       0 0 0 0
                   1 0 1 1
                1 0 1 1
               ---------------------- +
            1 0 0 0 1 1 1 1
> Dari cara perkalian diatas, beberapa hal yang penting yang perlu dicatat :
1. Perkalian menggunakan partial product untuk setiap digit pada multiplier. Partial product dijumlahkan untuk menghasilkan partial product
2. Bila multiplier bit=0, partial product =0. Bila multiplier bit=1, partial product adalah multiplicantnya sendiri
3. Untuk penjumlahan partial product, tiap partial product yang berurutan digeser satu posisi ke kiri terhadap partial product sebelumnya
4. Perkalian dua bilangan n bit binary integer memberikan hasil kali sampai 2n bit

> Perkalian 2's Complemet
Penjumlahan dan pengurangan bilangan sign integer dapat dilakukan dengan 2's complement, tetapi bilangan ini tidak berlaku untuk perkalian.
Misal  11 (1011) dikalikan 13 (1101) pada bilangan unsign integer akan dihasilkan 143 (10001111). Bila bilangan diatas dianggap sebagai bilangan sign integer 2's complement maka didapatkan:
 1011  ×  1101  = 10001111
     -5   ×    -3      =  -113
Perkalian tidak berhasil jika multiplicant dari/atau multiplier negatif
Unsign binary number dapat dituliskan berupa penjumlahan di pangkat dua
Contoh:
1101 = 1×2^3 + 1×2^2 + 0×2^1 + 1×2^0
          = 2^3 + 2^2 + 2^0
Perkalian dengan bilangan biner 2^n berarti menggeser bilangan kekiri sejumlah n bit
Contoh:
                       1 0 1 1               (M)
                       1 1 0 1               (Q)
----------------------------- ×
      0 0 0 0    1 0 1 1               1 0 1 1 × 1 × 2^0
      0 0 0 0    0 0 0 0               1 0 1 1 × 0 × 2^1
      0 0 1 0    1 1 0 0               1 0 1 1 × 1 × 2^2
      0 1 0 1    1 0 0 0               1 0 1 1 × 1 × 2^3
----------------------------- +
      1 0 0 0    1 1 1 1

>  Algoritma Booth
*Contoh jika Q = 0011 ( 3) ×  M = 0111 (7)
    A           Q              Q1         Proses
0000       0011            0          inisial
1001       0011            0          A <-  A-M
1100       1001            1          shift right
1110        0100           1          shift right
0101       0100           1           A <- A+M
0010       1010            0          shift right
0001        0101           0          shift right
Hasil perkalian disimpan diregister A dan Q. Dan hasilnya adalah : 0001     0101 = 21
* Contoh jika Q = 0011 ( 3) ×  M = 1001 (-7)
    A           Q              Q1         Proses
0000       0011            0          inisial
0111        0011            0          A <-  A-M
0011       1001           1          sift
0001       1100           1          sift
1010       1100           1           A <- A+M
1101       0110            0          sift
1110       1011            0          sift

Hasil perkalian yang disimpan diregister A dan Q = 1110  1011 = -21

Komentar

Postingan Populer