سؤال

هل يعرف أحد كيفية معرفة دقة long double على منصة معينة؟يبدو أنني أفقد الدقة بعد 17 رقمًا عشريًا، وهو نفس ما يحدث عندما أستخدمه للتو double.أتوقع الحصول على المزيد، منذ ذلك الحين double يتم تمثيله بـ 8 بايت على النظام الأساسي الخاص بي، بينما long double هو 12 بايت.

قبل أن تسأل، هذا لمشروع أويلر، لذا نعم أنا يفعل تحتاج إلى أكثر من 17 رقما.:)

يحرر: شكرا للردود السريعة.لقد أكدت للتو أنه لا يمكنني الحصول إلا على 18 رقمًا عشريًا باستخدام long double على نظامي.

هل كانت مفيدة؟

المحلول

يمكنك معرفة ذلك مع std::numeric_limits:

#include <iostream>     // std::cout
#include <limits>       // std::numeric_limits
int main(){
    std::cout << std::numeric_limits<long double>::digits10 << std::endl;
}

نصائح أخرى

يمكنك استخدام <كفلوت>.خاصة:

LDBL_DIG
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top