پرش به محتوا

فرمت نقطه شناور دقت دوگانه

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از Double-precision floating-point format)

قالب ممیز شناور با دقت دوبرابر به یک قالب عدد رقومی در مبنای دو اشاره دارد که با اشغال ۶۴ بیت از فضای حافظه رایانه دوبرابر میزان قالب ممیز شناور با دقت یک برابر که ۳۲ بیت فضای حافظه را اشغال میکند دقی‌قتر است.

برای درک بهتر نیاز ما به این قالب عددی و همچنین چگونگی محاسبه و کاربرد آن به مثال زیر توجه کنید: در نظام اعداد ده‌دهی یا اعداد در مبنای ده که ما به‌صورت روزانه از آن در زندگی استفاده می‌کنیم و شامل اعداد صفر تا نُه می‌باشد ما برای محاسبه عدد اعشاری زیر مشکلی نداریم:

۰/۱+۰/۲=۰/۳

اما اگر پردازش همین دودهم به‌علاوه یک‌دهم را به یک رایانه واگذار کنیم با محاسبه آن در مبنای دو که تنها شامل اعداد صفر و یک می‌باشد نتیجه زیر را به ما می‌دهد:

۰/۳۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۴

این مشکل از آنجا نشأت می‌گیرد که رایانه آن را چیزی شبیه به این صورت می‌بیند (اعداد فرضی زیر صحیح نیستند و تنها به‌عنوان مثال ارائه شده‌اند):

00111101110011001100110011001101 + 00111110010011001100110011001101 = 1111100000110011001100110011010

برای ذخیره و پردازش اعداد در زبان‌های برنامه نویسی فارغ از اینکه ۶۴ یا ۳۲ باشند قالب زیر بکار می‌رود:

نمونه فضای حافظه برای قالب ممیز شناور
نمونه فضای اشغال شده حافظه رایانه برای قالب ممیز شناور
  • بیت اول که علامت نام دارد اشاره به علامت مثبت (صفر) یا منفی (یک) بودن عدد دارد.
  • بیت دوم تا نهم در ۳۲ بیتی و بیت دوم تا دوازدهم در ۶۴ بیتی عدد توان را مشخص می‌کند.
  • بیت دهم تا سی‌ودو در ۳۲ بیتی و بیت سیزدهم تا شصت‌وچهار در ۶۴ بیتی عدد اعشار یا به عبارتی ضریب علمی را ذخیره می‌کند.

اطلاعات دیگر

[ویرایش]

این یک دامنه وسیعی از مقادیر عددی را با استفاده از یک نقطه ممیز شناور نشان می‌دهد.

نقطه شناور برای نشان دادن مقادیر کسری استفاده می‌شود، یا وقتی که یک محدوده گسترده‌تر از نقطه ثابت (همان عرض بیتی) باشد، حتی اگر با هزینه دقیق باشد. دقت دوگانه ممکن است زمانی که محدوده و یا دقت تک‌گانه ناکافی باشد.

در استاندارد IEEE 754-2008، ارزش ۶۴ بیت با قالب پایه ۲ به عنوان binary64 اشاره می‌کند؛ آن را دو برابر در IEEE 754-1985 نامگذاری کردند . IEEE 754 قالبهای ممیز شناور اضافی را مشخص می‌کند، از جمله ۳۲ بیت پایه ۲ دقت تک‌گانه و اخیراً، نمایندگی پایه ۱۰.

یکی از اولین زبان‌های برنامه نویسی برای ارائه انواع داده‌های تک و دو دقت شناور، فورترن بود. قبل از تصویب گسترده IEEE 754-1985، نمایندگی و ویژگی‌های انواع داده‌های شناور وابسته به تولید کننده رایانه و الگوی رایانه‌ای و تصمیم گیری‌های انجام شده توسط برنامه نویسان زبان برنامه‌ریزی بود. به عنوان مثال، نوع داده دقت دوگانه GW-BASIC قالب ممیز شناور ۶۴ بیتی MBF بود.

قالب ممیز شناور دوتایی دقت دوگانه Binary64: IEEE754

[ویرایش]

با توجه به میزان عملکرد و پهنای گذرگاه آن، دقت دوگانه نقطه شناور دوتایی یک قالب رایج استفاده شده در رایانه‌های شخصی است، به دلیل گستردگی وسیع‌تر آن از ممیز شناور دقت تک‌گانه. همانطور که با دقت تک‌گانه قالب ممیز شناور، زمانی که با یک قالب صحیح با همان اندازه مقایسه شده است آن را فاقد دقت در اعداد صحیح می‌کند. این معمولاً به عنوان دو برابر شناخته می‌شود. مبنای IEEE 754 یک binary64 را مشخص می‌کند:

منابع

[ویرایش]