Merhaba,
Elbette depolama birimlerimizin sonsuza kadar gitmiyor ama, pekala işlemcinin saymakla bitiremeyeceği bir döngü içinde sayıları saymak isteyebiliriz. Eğer ulong.max dışına taşan bir sayma işlemi gerçekleştirirsek n'apacağız!
Başlangıçta imdadımıza std.bigint (http://dlang.org/phobos/std_bigint.html) yetişmekte. Peki ya biz, elde ettiğimiz sayı üzerinde dört işlem yapmak istemiyorsak; üstelik sayma işleminin CPU kaynaklarını çok kullanmaması gerekiyorsa ne yapabiliriz? Cevap olarak aklıma ulong[] dizisi oluşturmak geçiyor.
Ne dersiniz?
Ama bir sakıncası da her seferinde 1 arttırılan digit[0]'ın ulong.max'a gelip gelmediğini sorgulamamız gerekecek. Yani her döngü içerisinde en az bir kez (diğer digit'ler içinde olabilir!) CMP ve JMP komutları yanısıra RET ile programa kaldığı yerde geri dönmesi fazladan işlemci gücü tüketecek. Düşünsenize; INC falanca komutu yerine bir ton şey ile muhatap olmamız içten bile değil...:(
Off, bir çözüm önerisi olan var mı?
Teşekkürler...
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]