نمایش نتایج 1 تا 3 از 3

نام تاپیک: نتیجه عجیب ضرب متغیرهای float و double

  1. #1

    نتیجه عجیب ضرب متغیرهای float و double

    سلام. من در C#‎ دو متغیر تعریف کردم:

    double dbl=100,000,000;
    float count=2.2;


    وقتی این دو متغیر رو در هم ضرب می کنم عدد زیر رو بهم میده:

    dbl*count= 220,000,005 


    چرا نتیجه 220,000,000 نیست؟ راه حلش چیه؟

  2. #2

    نقل قول: نتیجه عجیب ضرب متغیرهای float و double

    نقل قول نوشته شده توسط resident مشاهده تاپیک
    سلام. من در C#‎‎ دو متغیر تعریف کردم:

    double dbl=100,000,000;
    float count=2.2;


    وقتی این دو متغیر رو در هم ضرب می کنم عدد زیر رو بهم میده:

    dbl*count= 220,000,005 


    چرا نتیجه 220,000,000 نیست؟ راه حلش چیه؟
    double و float با سیستم ممیز شناور محاسبه انجام می دهند، مزیت ممیز شناور در اینه که بازه عددی بزرگی ایجاد می کنه ولی در عوض تعداد رقم های با ارزش کمتری رو با دقت ذخیره می کنه، یعنی الزاما نتیجه دقیق نیست. در نتیجه محاسبات ممیز شناور تخمینی است و برایش کمی اینور و اونور عادی ئه.
    برای همینه که فرضا برای محاسبات مالی از float و double استفاده نمی کنند. در اینجور موارد بجای float و double از decimal استفاده کنید که رقم ها رو با دقت بیشتری ذخیره می کنه.

    رجوع شود به :
    مشکل در استفاده از FLOAT
    سوال: مقادیر اعشاری
    سوال: بهترین نوع داده برای مبلغ در C#‎‎

  3. #3

    نقل قول: نتیجه عجیب ضرب متغیرهای float و double

    نقل قول نوشته شده توسط the king مشاهده تاپیک
    double و float با سیستم ممیز شناور محاسبه انجام می دهند، مزیت ممیز شناور در اینه که بازه عددی بزرگی ایجاد می کنه ولی در عوض تعداد رقم های با ارزش کمتری رو با دقت ذخیره می کنه، یعنی الزاما نتیجه دقیق نیست. در نتیجه محاسبات ممیز شناور تخمینی است و برایش کمی اینور و اونور عادی ئه.
    برای همینه که فرضا برای محاسبات مالی از float و double استفاده نمی کنند. در اینجور موارد بجای float و double از decimal استفاده کنید که رقم ها رو با دقت بیشتری ذخیره می کنه.

    رجوع شود به :
    مشکل در استفاده از FLOAT
    سوال: مقادیر اعشاری
    سوال: بهترین نوع داده برای مبلغ در C#‎‎‎
    متشکرم بابت پاسخگویی تون...

تاپیک های مشابه

  1. پاسخ: 3
    آخرین پست: دوشنبه 21 بهمن 1398, 18:11 عصر
  2. گفتگو: باگ جالب سی شارپ در ضرب یک float در یک double
    نوشته شده توسط Javad_raouf در بخش C#‎‎
    پاسخ: 3
    آخرین پست: چهارشنبه 29 شهریور 1396, 11:09 صبح
  3. سوال: برنامه جمع دو عدد اعشاری - بدون استفاده از float و double
    نوشته شده توسط online98 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 4
    آخرین پست: دوشنبه 05 فروردین 1392, 15:35 عصر
  4. سوال : پیدا کردن ماکزیمم و مینیمم مقدار int,long.short,byte,float,double
    نوشته شده توسط navidkhob در بخش Java SE : نگارش استاندارد جاوا
    پاسخ: 3
    آخرین پست: سه شنبه 27 اردیبهشت 1390, 11:49 صبح
  5. سوال: من میخوام حافظه موجود در یک متغیر int را بدون عوض شدن محتوا در یک متغیر float بریزم
    نوشته شده توسط mhamohsen در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: شنبه 11 دی 1389, 15:38 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •