Ne kadar bir BCMath PHP kitaplığı için hassas?

1 Cevap php

Ben keyfi hassasiyet için bcmath uzantısı kullanan bir Number sınıf olan bir PHP kütüphanesi yazıyorum.

Ben iki soru var:

  1. BCMath int dahili ve yüzer türlerini kullanarak karşılaştırıldığında ne kadar yavaş?

  2. bcmath sahip isteğe bağlı scale argument (yani 3 basamak varsayılan). Herkesin kullanabileceği bir genel amaçlı Numarası sınıf için, ne hassas iyi bir düzeyde olurdu? Nasıl (keyfi duyarlıklı sayılar) Perl gibi diller ölçek ile anlaşma yapmak?

1 Cevap

Seni desteklemek için gereken sayı aralığı ne karar verecek. Değerler bazı yerleşik başka biçimi hesaplama ve / dönüşüm gerektiren herhangi bir değerden daha hızlı olacaktır.

Tamsayılar herhangi bir sistem üzerinde 32 bit kadar iyi inşa edilmiş, bazı sistemler 64 bit değerleri destekler. Eğer sistem sabit PHP_INT_MAX'tan değerini kontrol ederek destekler ne kontrol ve bundan sonra matematik kütüphanesinin yükünü taşımak istiyorsanız belirleyebilirsiniz. 32 bit tamsayılar olan sistemlerde, 32 bit üzerinde bir şey otomatik olarak bir float dönüştürülür. Vb yuvarlak, printf, modülü gibi şeyler için fonksiyonları inşa kullanarak sürece bu bir sorun değil

http://af-design.com/blog/2009/10/28/php-64-bit-integer-modulus-almost/: Ben bu trafik sprintf% d kullanarak biçimlendirme tamsayılar yanı sıra siteme gelen bölmek için modülü kullanarak biraz oldu