Ben bignums için uzun bölünme uygulamaya çalışıyorum. Ne yazık ki gömülü programlamanın kısıtlamaları nedeniyle GMP gibi bir kütüphaneyi kullanamıyorum. Ayrıca, nasıl uygulanacağını öğrenmenin entelektüel kullanımını istiyorum. Şimdiye kadar, herhangi bir uzunluktaki bayt dizileri kullanılarak yapılan ekleme ve çarpma işlemlerine sahibim (böylece her bayt bir taban-256 basamağı gibidir).Muazzam sayılar (bignums) için uzun bölünme nasıl uygulanır
Sadece bölüm/modül uygulamalarına başlamaya çalışıyorum ve nereden başlayacağımı bilmek istiyorum. Ağda yüksek düzeyde optimize edilmiş (aka okunamayan) bir çok kod buldum, bu bana yardımcı olmuyor ve teori ile uygulama arasındaki boşluğu dolduramadığım bir çok teknik matematiksel çok sayıda grafik buldum. . Birisi popüler bir algoritma önerebilirse ve bunu anlamsızlaştırmaya yönelten bir açıklamayı anlatabilirse, bu harika olur.
-düzenleme: Ben temettü olduğunda algoritmalar hangi işi gerek ~ 4000bits ve bölen 2000bits
-düzenleme ~ geçerli: Baz-256 ile Will bu algoritma çalışır? http://courses.cs.vt.edu/~cs1104/BuildingBlocks/divide.030.html
-edit: Bu gerçekten kullanmam gereken algoritma mı (newton division)? http://en.wikipedia.org/wiki/Division_(digital)#Newton.E2.80.93Raphson_division
Bu, ama ben> 2048 bit sayısı için iyi bir algoritma olacağından emin değilim? http://stackoverflow.com/questions/2525172/custom-very-long-int-division-issue – Chris
Ayrıca bu makaleyi de buldum, başlamam için iyi bir algoritma olabilir mi? Knuth referansı için http://www.brinch-hansen.net/papers/1994b.pdf – Chris