Algoritma pembagian yang tidak memulihkan
Adakah yang tahu langkah-langkah untuk membagi bilangan bulat biner tidak bertanda menggunakan pembagian tanpa pengembalian?
Sulit untuk menemukan sumber yang bagus secara online.
yaitu jika A = 101110
dan B = 010111
bagaimana kita menemukan A dibagi dengan B
dalam pembagian yang tidak mengembalikan? Seperti apa bentuk register di setiap langkah?
Terima kasih!
8
2
(Jawaban saya sedikit terlambat dibalas. Tapi saya harap ini akan berguna bagi pengunjung di masa mendatang)
Algoritma untuk pembagian tanpa pengembalian diberikan pada gambar di bawah ini:
Dalam soal ini, Pembagi (A) = 101110, yaitu 46, dan Pembagi (B) = 010111, yaitu 23.
Inisialisasi:
Setelah ini, kita memulai algoritme, yang saya tunjukkan dalam tabel di bawah ini:
Pada tabel,
SHL(AQ) menunjukkan pergeseran ke kiri AQ sebanyak satu posisi dengan membiarkan Q0 kosong
.Demikian pula, simbol persegi pada posisi Q0 menunjukkan,
ini akan dihitung kemudian
Semoga semua langkah sudah jelas dari tabel tersebut !!!
Jika bit tanda dari A sama dengan 0, geser A dan Q digabungkan ke kiri sebanyak 1 bit dan kurangi M dari A, jika tidak, geser A dan Q digabungkan ke kiri sebanyak 1 bit dan tambahkan M ke A Sekarang jika bit tanda dari A sama dengan 0, maka setel Q[0] sebagai 1, jika tidak setel Q[0] sebagai 0