9^19
hesaplamak için arıyorum. Benim kodudur:C++ cinsinden yüksek doğrulukta (10^19) güç hassasiyeti nasıl artırılır?
cout.setf(ios::fixed, ios::floatfield);
cout.setf(ios::showpoint);
cout<<pow(9,19)<<endl;
sonuç 0
eşit son 2 basamak: 1350851717672992000
. Python'da, 9**19
bana 1350851717672992089L
'u gönderdi. Kayan noktalı bir sorun gibi görünüyor. pow
için hassaslığı nasıl yükseltebilirim? veya pow
'dan daha iyi bir hassas güç nasıl oluşturulur?
Gcc sürüm 4.8.2 ile derliyorum.
Çift kullanıyorsunuz. Uzun çift veya uzun uzun kullanmak, daha iyi çalışır (platforma bağlı olarak). –
'uint64_t' işlevini kullanın ve kendi' pow' işlevinizi yazın – mch
Python, tamsayılar için isteğe bağlı kesinlik aritmetiğine sahiptir. C++ ile bunu isterseniz 3. parti "bignum" kütüphanesini kullanmanız veya kendiniz oluşturmanız gerekir. –