5 Mayıs 2010, ÇARŞAMBA
Nasıl ve değişen ve ekleme sadece bit kullanarak çarpma bölme yapabilir miyim?
Nasıl ve değişen ve ekleme sadece bit kullanarak çarpma bölme yapabilir miyim?
CEVAP
5 Mayıs 2010, ÇARŞAMBA
Ekleme açısından çoğalmaya ve iki güçleri tarafından numaralarından birini ayrıştırmak, istediğiniz vites:
21 * 5 = 10101_2 * 101_2 (Initial step)
= 10101_2 * (1 * 2^2 0 * 2^1 1 * 2^0)
= 10101_2 * 2^2 10101_2 * 2^0
= 10101_2 << 2 10101_2 << 0 (Decomposed)
= 10101_2 * 4 10101_2 * 1
= 10101_2 * 5
= 21 * 5 (Same as initial expression)
(_2
2 tabanı anlamına gelir)
Gördüğünüz gibi, çarpma ekleme ve değişen içine ayrıştırılır ve tekrar geri alabilir. Bu çarpma daha uzun bit vardiya ya da bit sayısı var O(n^2) yerine O(n) ekleyerek daha alır nedeni de budur. Gerçek bilgisayar sistemleri teorik bilgisayar sistemleri (karşıt olarak) sınırlı sayıda bit var, çarpma zamanı buna göre değişen sürekli bir çok alır. Eğer doğru hatırlıyorsam, modern işlemciler, eğer düzgün olmayanın, çarpma sadece hızlı ek olarak, işlemci Alu (aritmetik birim) kullanımı ile uğraşıyor.
Bunu Paylaş:
Nasıl bir dosya Emacs kullanarak geçer...
Nasıl bir yönlendirme sayfası jQuery k...
Nasıl ve bash ile bir dosya için hem s...
Nasıl bir liste alfabetik olarak jQuer...
Nasıl bir görüntü sadece CSS ile carou...