IEEE ۷۵۴
استاندارد IEEE برای حساب ممیز شناور (انگلیسی: IEEE 754) یک استاندارد برای رایانش ممیز شناور است که در سال ۱۹۸۵ توسط مؤسسه مهندسان برق و الکترونیک (آیتریپلئی) تدوین شد. هدف تدوین این استاندارد حل مشکلات متعدد حساب ممیز شناور بود که بهکارگیری ممیز شناور به صورت قابلحمل و مطمئن را ناممکن میکرد. بسیاری از واحدهای ممیز شناور اکنون از استاندارد آیتریپلئی استفاده میکنند.
این استاندارد موارد زیر را تعریف میکند:
- قالبهای عددی: مجموعهای از دادههای اعشاری دودویی و دهدهی که شامل اعداد متناهی(اعداد عادی، صفرهای علامتدار و اعداد غیرطبیعی), مقادیر نامتنهای و مقادیر مخصوص غیر عددی(NaN) میشوند.
- فرمتهای تبادل: رمزگذاریهای به شکل رشته بیت که برای تبدیل دادههای اعشاری به شکلی کارآمد و فشرده استفاده میشوند.
- قواعد گرد کردن: مواردی که باید هنگام گرد کردن و انجام اعمال محاسباتی در نظر گرفته شوند.
- مدیریت استثناء (انگلیسی: Exception handling): نشانههای شرایط استثنایی(مانند تقسیم بر صفر، سرریز و غیره).
فرمتها
یک فرمت آیتریپلئی 754 مجموعهای از نمایشهای مقادیر عددی و سمبلها است. فرمت ممکن است شامل نحوهٔ رمزگذاری مجموعه هم باشد.
فرمت شامل موارد زیر است:
- اعداد متناهی که در مبنای 2(دودویی) یا مبنای10(دهدهی) هستند. هر عدد متناهی با 3 عدد مشخص میشود: s = علامت(صفر برای اعداد مثبت و یک برای اعداد منفی), c = ضریب علمی و q = مقدار توان.
- دو مقدار نامتناهی ∞+ و ∞-.
- دو نوع از مقدار مخصوص غیرعددی(NaN): مقدار غیر عددی خاموش(انگلیسی: quiet NaN (qNaN)) و مقدار غیر عددی علامتدهی(انگلیسی: signaling NaN (sNaN)).
نحوهی نمایشدهی اعداد متناهی
یک عدد متناهی به صورت
c=1254, b=10 و q=-2.
نمایش و رمزگذاری در حافظه
برخی اعدادرا میتوان به چندین روش نمایش داد. برای مثال اگر b=10, عدد 12.345را میتوان به صورتهای:
در مبنای 10 تمامی نمایشها معتبر هستند و استاندارد مشخص میکند که کدام یک باید انتخاب شود.
برای مبنای 2, نمایشی که کوچکترین مقدار توانرا دارد انتخاب میشود.
شیوه نمایش مقدار توان
مقدار توان به صورت مستقیم نمایش داده نمیشود، بلکه با یک مقدار مشخص(bias) جمع میشود و سپس نمایش داده میشود. اگر تمامی بیتهای نمایش توان 0 یا 1 باشند به این معنی است که در حال نمایش یک عدد غیرطبیعی هستیم.
هنگامی که مقدار توان در بازهٔ عادی قرار دارد(همهٔ بیتها 1 یا 0 نیستند), مقدار بیت پرارزش همواره 1 است. بنابراین میتوان آنرا به صورت ضمنی در نظر گرفت و بیت پرارزش را نمایش نداد.
فرمتهای پایهای و تبادل
استاندارد 5 فرمت پایهرا معرفی میکند که براساس مبنا و تعداد بیتهای مورد استفاده در رمزگذاری تبادلشان نامگذاری میشوند. طبق استاندارد 3 فرمت پایه برای اعداد اعشاری در مبنای 2(رمزگذاری شده با 32, 64 یا 128 بیت) و 2 فرمت پایه برای اعداد اعشاری در مبنای 10(رمزگذاری شده با 64 یا 128 بیت) وجود دارد.
نام | نام رایج | مبنا | تعداد بیتها/ارقام ضریب علمی | ارقام دهدهی | تعداد بیتهای توان | مقدار پیشفرض توان | کمترین توان | بیشترین | فرمت پایه است؟ |
---|---|---|---|---|---|---|---|---|---|
دودویی16 | دقت نیمه | 2 | 11 | 3.31 | 5 | 15 | 14- | 15 | خیر |
دودویی32 | یک برابر دقت | 2 | 24 | 7.22 | 8 | 127 | 126- | 127 | بله |
دودویی64 | دوبرابر دقت | 2 | 53 | 15.95 | 11 | 1023 | 1022- | 1023 | بله |
دودویی128 | چهاربرابر دقت | 2 | 113 | 34.02 | 15 | 16383 | 16382- | 16383 | بله |
دودویی256 | هشتبرابر دقت | 2 | 237 | 71.34 | 19 | 262143 | 262142- | 262143 | خیر |
دهدهی32 | 10 | 7 | 7 | 7.58 | 101 | 95- | 96 | خیر | |
دهدهی64 | 10 | 16 | 16 | 9.58 | 398 | 383- | 384 | بله | |
دهدهی128 | 10 | 34 | 34 | 13.58 | 6176 | 6143- | 6144 | بله |