سیشارپ - باید دانست 9
دوشنبه, ۴ شهریور ۱۳۹۲، ۰۱:۳۷ ق.ظ
دقت یا سرعت؟
باید دانست که
:
در سیشارپ برای نگهداری مقادیر اعشاری، نوع دادههای مختلفی وجود دارند. هدف این پست بررسی دو نوع دادهی double و decimal میباشد.
- نوع double: این نوع داده، محاسبات را در مبنای 2 انجام میدهد، حدود 14 تا 15 رقم اعشار دقت دارد و بازهی عددی حدود 324-^10 تا حدود 308^10 را در بر میگیرد (مثبت و منفی).
- نوع decimal: این نوع داده، محاسبات را در مبنای 10 انجام میدهد، حدود 28 تا 29 رقم اعشار دقت دارد و بازهی عددی حدود 28-^10 تا 28^10 را دربر میگیرد (مثبت و منفی).
این نکته از آن جهت اهمیت دارد که:
هنگامی که در محاسبات دقت زیاد لازم است میتوان از decimal استفاده کرد اما decimal دارای دو محدودیت زیر است:
- بازهی عددی نسبتا کوچک
- کاهش سرعت محاسبات (تقریبا 10 برابر کندتر از double)
پس همواره باید بررسی کرد که دقت مهم است یا سرعت. معمولا باید بین این دو معیار توازن برقرار بشه تا یه برنامهی خوبی ساخته بشه.