Ieee 754-2008
Total Page:16
File Type:pdf, Size:1020Kb
IEEE 754-2008 (ﺑﺮ ﮔﺮﻓﺘﻪ از IEEE 754) (ﺗﺮﺟﻤﻪ ﻣﻘﺎﻟﻪ From Wikipedia, the free encyclopedia) اﺳﺘﺎﻧﺪارد IEEE ﺑﺮای اﻋﺪاد ﻣﻤﯿﺰ ﺷﻨﺎور رﯾﺎﺿﯽ (IEEE 754 )ﺗﺪوﯾﻦ ﺷﺪه اﺳﺖ. اﯾﻦ اﺳﺘﺎﻧﺪارد ﺑﻪ ﻃﻮر ﮔﺴﺘﺮده ای ﺑﺮای ﻣﺤﺎﺳﺒﺎت ﻣﻤﯿﺰ ﺷﻨﺎور ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯽ ﮔﯿﺮد و ﺑﺴﯿﺎری از ﺳﺨﺖ اﻓﺰارﻫﺎ (cpuوFPU)و ﻧﺮم اﻓﺰارﻫﺎی ﭘﯿﺎده ﺳﺎزی از آن ﺗﺒﻌﯿﺖ ﻣﯽ ﮐﻨﻨﺪ. ﺑﺴﯿﺎری از زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﺳﺎزی اﺟﺎزه ﻣﯽ دﻫﻨﺪ وﯾﺎ ﻧﯿﺎز دارﻧﺪ ﮐﻪ درﺑﺴﯿﺎری ﯾﺎ ﺗﻤﺎم ﻣﺤﺎﺳﺒﺎت رﯾﺎﺿﯽ از ﻗﺎﻟﺐ ﻫﺎ و ﻋﻤﻠﮕﺮ ﻫﺎ ی ﺧﻮد از 754IEEE ﺑﺮای ﭘﯿﺎده ﺳﺎزی اﺳﺘﻔﺎده ﮐﻨﻨﺪ. وﯾﺮاﯾﺶ ﺟﺎری اﯾﻦ اﺳﺘﺎﻧﺪارد IEEE 754-2008 اﺳﺖ ﮐﻪ درAugust 2008 ﻣﻨﺘﺸﺮ ﺷﺪه اﺳﺖ. اﯾﻦ اﺳﺘﺎﻧﺪارد ﺗﻘﺮﯾﺒﺎ" درﺑﺮدارﻧﺪه ﺗﻤﺎم ﺧﺼﻮﺻﯿﺎت IEEE اﺻﻠﯽ ،IEEE 754-1985 (ﮐﻪ در ﺳﺎل 1985 ﻣﻨﺘﺸﺮ ﺷﺪه اﺳﺖ) و اﺳﺘﺎﻧﺪارد IEEEﺑﺮای Radix اﺳﺘﻘﻼل ﻣﻤﯿﺰ ﺷﻨﺎور رﯾﺎﺿﯽ(IEEE 854-1987)اﺳﺖ. ﺗﻌﺎرﯾﻒ اﺳﺘﺎﻧﺪارد • ﻗﺎﻟﺐ ﻫﺎی رﯾﺎﺿﯽ: ﻣﺠﻤﻮﻋﻪ ﻫﺎی دودوﯾﯽ و داده ﻫﺎی ﻣﻤﯿﺰ ﺷﻨﺎور دﻫﺪﻫﯽ ﮐﻪ ﺷﺎﻣﻞ اﻋﺪاد ﻣﺘﻨﺎﻫﯽ اﻧﺪ(ﺷﺎﻣﻞ ﺻﻔﺮ ﻣﻨﻔﯽ و اﻋﺪاد ﻏﯿﺮ ﻃﺒﯿﻌﯽ)،ﻧﺎﻣﺘﻨﺎﻫﯽ ﻫﺎ و ﺑﺨﺼﻮص ﻣﻘﺎدﯾﺮی ﮐﻪ ﻋﺪد ﻧﯿﺴﺘﻨﺪ(NANs). • ﻗﺎﻟﺐ ﻫﺎی ﺗﺒﺎدل:رﻣﺰﮔﺬاری ﻫﺎﯾﯽ (رﺷﺘﻪ ﺑﯿﺖ ﻫﺎ)ﮐﻪ ﻣﻤﮑﻦ اﺳﺖ ﺑﺮای ﺗﺒﺎدل داده ﻫﺎی ﻣﻤﯿﺰ ﺷﻨﺎور در ﯾﮏ ﻓﺮم ﻓﺸﺮده و ﮐﺎرا، اﺳﺘﻔﺎده ﺷﻮد. • اﻟﮕﻮرﯾﺘﻢ ﮔﺮد ﮐﺮدن: روش ﻫﺎﯾﯽ ﮐﻪ ﺑﺮای ﮔﺮد ﮐﺮدن اﻋﺪاد در ﻃﻮل ﻣﺤﺎﺳﺒﺎت رﯾﺎﺿﯽ و ﺗﺒﺪﯾﻼت اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد. • ﻋﻤﻠﮕﺮ ﻫﺎ: ﻋﻤﻠﮕﺮ ﻫﺎی رﯾﺎﺿﯽ و ﺳﺎﯾﺮ ﻋﻤﻠﮕﺮﻫﺎ ﺑﺎﯾﺪ در ﻗﺎﻟﺐ رﯾﺎﺿﯽ ﺑﺎﺷﻨﺪ. • ﻣﺪﯾﺮﯾﺖ ﺧﻄﺎ: دﻻﻟﺖ ﺑﺮ ﺧﻄﺎ در ﺣﺎﻟﺖ اﺳﺘﺜﻨﺎء(ﺗﻘﺴﯿﻢ ﺑﺮ ﺻﻔﺮ،ﺳﺮرﯾﺰ و ﻏﯿﺮه)دارد. اﻟﺒﺘﻪ، اﯾﻦ اﺳﺘﺎﻧﺪارد ﺷﺎﻣﻞ ﺗﻮﺻﯿﻪ ﻫﺎی ﺑﯿﺸﺘﺮی ﺑﺮای ﻣﺪﯾﺮﯾﺖ ﺧﻄﺎی ﭘﯿﺸﺮﻓﺘﻪ،ﻋﻤﻠﮕﺮﻫﺎی اﺿﺎﻓﯽ (ﻣﺎﻧﻨﺪ ﺗﻮاﺑﻊ trigonomtic)، ﻋﺒﺎرات ارزﯾﺎﺑﯽ و ﻫﻤﭽﻨﯿﻦ ﺑﺮای دﺳﺘﺮﺳﯽ ﺑﻪ ﻧﺘﺎﯾﺞ ﻗﺎﺑﻞ اﺳﺘﻔﺎده ﻣﺠﺪد اﺳﺖ. اﯾﻦ اﺳﺘﺎﻧﺪارد ﻣﺸﺘﻖ ﺷﺪه ازوﯾﺮاﯾﺶ1985 و ﺟﺎﯾﮕﺰﯾﻦ ﺷﺪه آن ﻣﯽ ﺑﺎﺷﺪ، ﮐﻪ در ﻣﺪت 7ﺳﺎل ﺑﻪ ﺻﻮرت ﭘﺮدازش ﻣﻌﮑﻮس ﺗﻮﺳﻂ Dan Zuras رﻫﺒﺮی ﺷﺪ و ﺗﻮﺳﻂ Mike Cowlishaw وﯾﺮاﯾﺶ ﺷﺪ.ﻗﺎﻟﺐ ﻫﺎی دودوﯾﯽ اﺳﺘﺎﻧﺪارد اﺻﻠﯽ،در ﻃﻮل اﺳﺘﺎﻧﺪارد ﺟﺪﯾﺪ ﻧﯿﺰﺗﻮﺳﻂ ﺳﻪ ﻗﺎﻟﺐ ﭘﺎﯾﻪ ﺟﺪﯾﺪ ﻧﯿﺰ رﻋﺎﯾﺖ ﺷﺪه اﺳﺖ(ﯾﮏ دودوﯾﯽ و دو دﻫﺪﻫﯽ).ﺑﺮای وﻓﻖ دادن اﯾﻦ ﻗﺎﻟﺐ ﺑﺎ اﺳﺘﺎﻧﺪارد ﺟﺎری، ﯾﮏ ﭘﯿﺎده ﺳﺎزی ﺑﺎﯾﺪ ﺣﺪاﻗﻞ ﯾﮑﯽ از دو ﻗﺎﻟﺐ رﯾﺎﺿﯽ و ﺗﺒﺎدل را ﭘﯿﺎده ﺳﺎزی ﮐﻨﺪ. ﻣﻔﺎﻫﯿﻢ • 1.ﻗﺎﻟﺐ ﻫﺎ o 1.1 ﻗﺎﻟﺐ ﻫﺎی اﺻﻠﯽ o 2.1 ﻗﺎﻟﺐ ﻫﺎی رﯾﺎﺿﯽ o 3.1 ﻗﺎﻟﺐ ﻫﺎی ﺗﺒﺎدل • 2.اﻟﮕﻮرﯾﺘﻢ ﮔﺮد ﮐﺮدن o 1.2ﮔﺮد ﮐﺮدن ﺑﻪ ﺳﻤﺖ ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻋﺪد o 2.2 ﮔﺮد ﮐﺮدن ﻣﺴﺘﻘﯿﻢ • 3.ﻋﻤﻠﮕﺮﻫﺎ • 4.ﻣﺪﯾﺮﯾﺖ ﺧﻄﺎ • 5.ﭘﯿﺸﻨﻬﺎدﻫﺎ o 1.5ﻣﺪﯾﺮﯾﺖ ﺧﻄﺎی ﻣﺘﻨﺎوب o 2.5 ﻋﻤﻠﮕﺮﻫﺎی ﭘﯿﺸﻨﻬﺎد ﺷﺪه o 3.5 ارزﯾﺎﺑﯽ ﻋﺒﺎرات o 4.5 ﻗﺎﺑﻠﯿﺖ اﺳﺘﻔﺎده ﻣﺠﺪد • 6.ﻣﻨﺎﺑﻊ • 7.ﻣﻄﺎﻟﻌﻪ ﺑﯿﺸﺘﺮ • 8.ﻟﯿﻨﮏ ﻫﺎی ﺑﯿﺸﺘﺮ ﻗﺎﻟﺐ ﻫﺎ ﻗﺎﻟﺐ ﻫﺎی IEEE 754 ﻣﺠﻤﻮﻋﻪ ای از داده ﻫﺎی ﻣﻤﯿﺰ ﺷﻨﺎور و رﻣﺰﮔﺬاری ﺷﺪه را ﺟﻬﺖ ﺗﺒﺎدل آن ﻫﺎ ﺗﻮﺻﯿﻒ ﻣﯽ ﮐﻨﺪ. ﯾﮏ ﻗﺎﻟﺐ ﺷﺎﻣﻞ : • اﻋﺪاد ﻣﺘﻨﺎﻫﯽ، ﮐﻪ ﻣﻤﮑﻦ اﺳﺖ ﺑﺮ ﻣﺒﻨﺎی 2 (دودوﯾﯽ)و ﯾﺎ ﻣﺒﻨﺎی 10 (دﻫﺪﻫﯽ) ﺑﺎﺷﻨﺪ.ﻫﺮ ﻋﺪد ﻣﺘﻨﺎﻫﯽ ﺑﻮﺳﯿﻠﻪ ﺳﻪ ﻋﺪد،ﺑﺴﯿﺎر ﺳﺎده ﺗﻮﺻﯿﻒ ﻣﯽ ﺷﻮد:ﯾﮏ ﻋﻼﻣﺖ(0 ﯾﺎ s,(1, ﯾﮏ ﺿﺮﯾﺐ,c, وﯾﮏ ﺗﻮان ,q .ﻣﻘﺪارﻋﺪدی ﯾﮏ ﻋﺪد ﻣﺘﻨﺎﻫﯽ ﺑﻪ اﯾﻦ ﮔﻮﻧﻪ اﺳﺖ .(−1)s×c×bq ﻫﺮﺟﺎﯾﯽ ﮐﻪ b در ﻣﺒﻨﺎی 2وﯾﺎ 10 ﺑﺎﺷﺪ.ﯾﻪ ﻋﻨﻮان ﻣﺜﺎل، اﮔﺮ ﻋﻼﻣﺖ آن 1 ﺑﺎﺷﺪ (ﻧﺸﺎن دﻫﻨﺪه ﻣﻨﻔﯽ) ﺿﺮﯾﺐ آن 12345 ، ﺗﻮان آن (3 - )و ﻣﺒﻨﺎی آن (10) ﺑﺎﺷﺪ ، ﺑﻨﺎﺑﺮاﯾﻦ ﻣﻘﺪار اﯾﻦ ﻋﺪد اﯾﻦ ﮔﻮﻧﻪ اﺳﺖ: 12.345 - • دو ﻋﻼﻣﺖ ﺑﯽ ﻧﻬﺎﯾﺖ ∞+ و∞− . • دو ﻧﻮع NaN (آرام ﻣﺎﻧﺪن و ﻋﻼﻣﺖ دادن). اﻟﺒﺘﻪ ﯾﮏ NaNﻣﻤﮑﻦ اﺳﺖ ﺟﻬﺖ ﻧﺸﺎن دادن اﻃﻼﻋﺎت ﻣﺮﺑﻮط ﺑﻪ ﻣﻨﺒﻊ ﺧﻄﺎ ی NaN،ﯾﮏ ﻣﺤﻤﻮﻟﻪ ( payload )را ﺣﻤﻞ ﻣﯽ ﮐﻨﺪ.ﻋﻼﻣﺖ ﯾﮏ NaN ﻫﯿﭻ ﻣﻌﻨﯽ ﻧﺪارد؟، اﻣﺎ اﯾﻦ اﻣﮑﺎن وﺟﻮد دارد ﮐﻪ در ﺑﺴﯿﺎری از ﺷﺮاﯾﻂ ﻗﺎﺑﻞ ﭘﯿﺶ ﺑﯿﻨﯽ ﺑﺎﺷﺪ. ﻣﻘﺪار ﻣﺘﻨﺎﻫﯽ ﻣﻤﮑﻦ اﺳﺖ در ﯾﮏ ﻗﺎﻟﺐ داده ﺷﺪه ﻣﻌﯿﻦ ﻗﺎﺑﻞ اراﺋﻪ ﻣﺠﺪد ﺑﺎﺷﺪ.اﯾﻦ ﻗﺎﻟﺐ ﺑﻪ اﯾﻦ ﺻﻮرت اﺳﺖ ﮐﻪ ، ﻣﺒﻨﺎﯾﯽ (b)،ارﻗﺎم اﻋﺪاد در ﺿﺮﯾﺐ (دﻗﺖp )و ﭘﺎراﻣﺘﺮ ﺗﻮان emax : • C ﺑﺎﯾﺪ ﯾﮏ ﻋﺪد ﺻﺤﯿﺢ در ﻣﺤﺪوده ﺻﻔﺮ و bp−1 ﺑﺎﺷﺪ (ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل، اﮔﺮ b=10 وp=7 ﺑﺎﺷﺪ ﺑﻨﺎﺑﺮ اﯾﻦ c ﻣﺎ ﺑﯿﻦ ﺻﻔﺮ ﺗﺎ9999999). • q ﺑﺎﯾﺪ ﯾﮏ ﻋﺪد ﺻﺤﯿﺢ ﺑﺎﺷﺪ ﮐﻪ emax ≤ q+p−1 ≤ emax−1 (ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل، اﮔﺮ p=7 وemax=96 ﺑﻨﺎﺑﺮاﯾﻦ q ﻣﺎﺑﯿﻦ 101 - ﺗﺎ 90 اﺳﺖ). ﺑﻪ ﻋﺒﺎرت دﯾﮕﺮ،(ﺑﺮای ﭘﺎرﻣﺘﺮﻫﺎی ﻣﺜﺎل) ﮐﻤﺘﺮﯾﻦ ﻋﺪد ﻏﯿﺮ ﺻﻔﺮ ﮐﻪ ﻣﯽ ﺗﻮاﻧﺪ دوﺑﺎره اراﺋﻪ ﺷﻮد 101−10×1 وﺑﺰرﮔﺘﺮﯾﻦ ﻋﺪد ﻣﺜﺒﺖ ﻏﯿﺮﺻﻔﺮ 1090×9999999 اﺳﺖ، وﻣﺤﺪوده ﮐﺎﻣﻞ اﻋﺪاد از1096×9.999999− ﺗﺎ 1096×9.999999 اﺳﺖ.ﻧﺰدﯾﮑﺘﺮﯾﻦ اﻋﺪاد ﺟﻬﺖ ﻣﻌﮑﻮس ﮐﺮدن اﯾﻦ ﺑﺎزه (and 1×10−95 95−10×1−) ﺷﺎﻣﻞ ﮐﻤﺘﺮﯾﻦ ﻣﻘﺪار (از ﻟﺤﺎظ ﻣﻘﺪار) اﻋﺪاد ﻧﺮﻣﺎل ﻣﯽ ﺑﺎﺷﺪ; اﻋﺪاد ﻏﯿﺮﺻﻔﺮ ﻣﯿﺎن اﯾﻦ ﮐﻤﺘﺮﯾﻦ ﻣﻘﺪارﻫﺎ ﺑﻪ ﻧﺎم اﻋﺪاد ﻏﯿﺮ ﻣﻌﻤﻮل ( subnormal numbers) ﻧﺎﻣﯿﺪه ﻣﯽ ﺷﻮﻧﺪ. ﻗﺎﻟﺐ ﻫﺎی اﺻﻠﯽ اﯾﻦ اﺳﺘﺎﻧﺪارد ﻫﻔﺖ ﻗﺎﻟﺐ اﺻﻠﯽ را ﺗﻌﺮﯾﻒ ﻣﯽ ﮐﻨﺪ، ﺑﻮﺳﯿﻠﻪ ﻣﺒﻨﺎی آن ﻫﺎ ﻧﺎم ﮔﺬاری ﺷﺪه و ﺗﻌﺪاد ارﻗﺎم ﺑﺮای رﻣﺰﮔﺬاری آن ﻫﺎ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ. ﺳﻪ ﻗﺎﻟﺐ ﺑﺮای ﻣﻤﯿﺰ ﺷﻨﺎور وﺟﻮد دارد(ﮐﻪ ﻣﯽ ﺗﻮان آن ﻫﺎ را ﺑﺎ اﺳﺘﻔﺎده از 32 ، 64 ﯾﺎ 128 ﺑﯿﺖ رﻣﺰ ﮔﺬاری ﻣﯽ ﺷﻮد) و ﻗﺎﻟﺐ ﺑﺮای اﻋﺪاد ﻣﻤﯿﺰ ﺷﻨﺎور دﻫﺪﻫﯽ(ﮐﻪ ﻣﯽ ﺗﻮاﻧﺪ ﺑﺎ اﺳﺘﻔﺎده از 64 ﯾﺎ 128 ﺑﯿﺖ رﻣﺰ ﮔﺬاری ﺷﻮد) .دو ﻗﺎﻟﺐ اول دودوﯾﯽ ’single‘ و ’double‘، ﻗﺎﻟﺐ ﻫﺎی IEEE 754-1985 ﻫﺴﺘﻨﺪ و ﺳﻮﻣﯿﻦ ﻗﺎﻟﺐ اﻏﻠﺐ اوﻗﺎت ’quad‘ ﻧﺎﻣﯿﺪه ﻣﯽ ﺷﻮد و ﻗﺎﻟﺐ ﻫﺎی دﻫﺪﻫﯽ ﺑﻪ ﻃﻮر ﻣﺸﺎﺑﻪ اﻏﻠﺐ اوﻗﺎت ﺑﺎ ﻧﺎم ﻫﺎی ’double‘و ’quad‘ ﻧﺎﻣﯿﺪه ﻣﯽ ﺷﻮﻧﺪ. parameter → b p emax format name base (bits or digits) binary32 2 23+1 bits +127 binary64 2 52+1 bits +1023 binary128 2 112+1 bits +16383 decimal64 10 16 digits +384 decimal128 10 34 digits +6144 ﺗﻤﺎم ﻗﺎﻟﺐ ﻫﺎی اﺻﻠﯽ ﻫﻢ در ﭘﯿﺎده ﺳﺎزی ﺳﺨﺖ اﻓﺰار و ﻫﻢ در ﭘﯿﺎده ﺳﺎزی ﻧﺮم اﻓﺰار در دﺳﺘﺮس ﻫﺴﺘﻨﺪ. ﻗﺎﻟﺐ ﻫﺎی رﯾﺎﺿﯽ اﯾﻦ ﻗﺎﻟﺐ ﻓﻘﻂ در رﯾﺎﺿﯽ و در ﻋﻤﻠﮕﺮﻫﺎی دﯾﮕﺮ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯽ ﮔﯿﺮد و اﺣﺘﯿﺎج ﺑﻪ ﯾﮏ رﻣﺰﮔﺰاری ﻣﺮﺑﻮط ﺑﻪ آن ﻧﺪارد(اﯾﻦ ﺑﺪﯾﻦ ﻣﻌﻨﯽ اﺳﺖ ﮐﻪ، ﯾﮏ ﭘﯿﺎده ﺳﺎزی ﻣﯽ ﺗﻮاﻧﺪ ﺑﻪ ﻫﺮ ﺗﻌﺪاد ﺑﻮﺳﯿﻠﻪ اراﺋﻪ ﻫﺎی دوﺑﺎره داﺧﻠﯽ اﻧﺘﺨﺎب ﺷﻮﻧﺪ) ; ﺗﻤﺎم اﯾﻦ ﻗﺎﻟﺐ ﻫﺎ اﺣﺘﯿﺎج ﺑﻪ ﺗﻌﺮﯾﻒ ﭘﺎراﻣﺘﺮ دارﻧﺪ( b, pوemax ).اﯾﻦ ﭘﺎراﻣﺘﺮﻫﺎ ﺑﻪ ﺻﻮرت ﻣﻨﺤﺼﺮ ﺑﻔﺮد، ﻣﺠﻤﻮﻋﻪ اﻋﺪاد ﻣﺘﻨﺎﻫﯽ را ﺗﻌﺮﯾﻒ ﻣﯽ ﮐﻨﺪ(ﺗﺮﮐﯿﺒﯽ از ﻋﻼﻣﺖ،ﺿﺮﯾﺐ، ﺗﻮان)ﮐﻪ ﻣﯽ ﺗﻮاﻧﺪ دوﺑﺎره اراﺋﻪ ﺷﻮد. ﻗﺎﻟﺐ ﻫﺎ ی ﻣﺒﺎدﻟﻪ : ﻓﺮﻣﺘﻬﺎی ﻣﺒﺎدﻟﻪ ﻗﺼﺪ دارد ، داده ﻣﻤﯿﺰ ﺷﻨﺎور در ﺣﺎل اﺳﺘﻔﺎده را ﺑﻪ ﯾﮏ رﺷﺘﻪ ﺑﯿﺘﯽ ﺑﺎ ﻃﻮل ﺛﺎﺑﺖ ﺑﺮای ﻓﺮﻣﺖ داده ﺷﺪه ، ﺗﺒﺪﯾﻞ ﮐﻨﺪ . ﺑﺮای ﺗﺒﺪﯾﻞ اﻋﺪاد ﻣﻤﯿﺰ ﺷﻨﺎور دودوﯾﯽ ، ﻓﺮﻣﺘﻬﺎی ﻣﺒﺎدﻟﻪ ﺑﺎ ﻃﻮل 16 ﺑﯿﺖ ، 32 ﺑﯿﺖ ، 64 ﺑﯿﺖ و ﻫﺮ ﻣﻀﺮﺑﯽ از 32 ﺑﯿﺖ ﮐﻪ ﺑﺰرﮔﺘﺮ ﻣﺴﺎوی 128 ﺑﯿﺖ ﺑﺎﺷﺪ ، ﺗﻌﺮﯾﻒ ﺷﺪه اﺳﺖ . ﻓﺮﻣﺖ 16 ﺑﯿﺘﯽ ﺑﻪ ﻣﻨﻈﻮر ﺗﺒﺪﯾﻞ ﯾﺎ ذﺧﯿﺮه اﻋﺪاد ﮐﻮﭼﮏ اﺳﺖ ( ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل ﺑﺮای ﺗﺼﺎوﯾﺮ ) . ﻃﺮح رﻣﺰ ﮔﺰاری ﺑﺮای ﻓﺮﻣﺘﻬﺎی ﻣﺒﺎدﻟﻪ دودوﯾﯽ ﻣﺸﺎﺑﻪ ﺑﻪ آﻧﭽﻪ در IEEE 754 - 1985 اﺳﺖ ، ﻣﯽ ﺑﺎﺷﺪ ﯾﮏ ﺑﯿﺖ ﻋﻼﻣﺖ ، ﺑﺎ ﺑﯿﺖ ﻫﺎی ﺗﻮان w ﮐﻪ ﺗﻮان آﻧﺴﺖ ﺑﻮﺳﯿﻠﻪ ﯾﮏ راه اﻧﺪاز و ﺑﯿﺖ ﻫﺎی p – 1 اﯾﻦ ﻣﻔﻬﻮم را ﺗﻮﺻﯿﻒ ﻣﯽ ﮐﻨﺪ . ﻋﺮض ﻓﯿﻠﻪ ﺗﻮان ﺑﺮای ﯾﮏ ﻓﺮﻣﺖ k – ﺑﯿﺘﯽ ﺑﻪ ﺻﻮرت : W= round ( 4*log 2 (k) ) _ 13 ﻣﺤﺎﺳﺒﻪ ﺷﺪه اﺳﺖ . ﻓﺮﻣﺘﻬﺎی 64 و 128 ﺑﯿﺘﯽ ﻣﻮﺟﻮد از اﯾﻦ ﻗﺎﻧﻮن ﭘﯿﺮوی ﻣﯽ ﮐﻨﻨﺪ اﻣﺎ ﻓﺮﻣﺘﻬﺎی 16 و 32 ﺑﯿﺘﯽ ، ﺑﯿﺘﻬﺎی ﺗﻮان ﺑﯿﺸﺘﺮی دارﻧﺪ ( 8 و 5 ) ﮐﻪ از اﯾﻦ ﻓﺮﻣﻮل تءﻣﯿﻦ ﻣﯽ ﺷﻮد (ﺑﻪ ﺗﺮﺗﯿﺐ 3 و 7 ) ﺑﺮای ﺗﺒﺪﯾﻞ اﻋﺪاد ﻣﻤﯿﺰ ﺷﻨﺎور دﻫﺪﻫﯽ ، ﻓﺮﻣﺘﻬﺎی ﻣﺒﺎدﻟﻪ ، ﻫﺮ ﻣﻤﯿﺰی از 32 ﺑﯿﺖ ﺗﻌﺮﯾﻒ ﺷﺪه اﺳﺖ . ﻃﺮح رﻣﺰ ﮔﺰاری ﺑﺮای ﻓﺮﻣﺘﻬﺎی ﻣﺎدﻟﻪ دﻫﺪﻫﯽ ﻣﺸﺎﺑﻪ رﻣﺰ ﮔﺰاری ﻋﻼﻣﺖ ، ﺗﻮان و ﻣﻔﻬﻮم اﺳﺖ ، اﻣﺎ اﺳﺘﻔﺎده از ﻓﺮاﯾﻨﺪی ﭘﯿﭽﯿﺪه ﺗﺮ ، signfcand را ﺑﺮای رﻣﺰ ﮔﺰاری ﺑﻪ ﻋﻨﻮان ﯾﮏ دﻧﺒﺎﻟﻪ ﻓﺸﺮده از ارﻗﺎم دﻫﺪﻫﯽ ﯾﺎ ﺑﻪ ﻋﻨﻮان ﯾﮏ ﻋﺪد ﺻﺤﯿﺢ دودوﯾﯽ ﻣﺠﺎز ﻣﯽ ﮐﻨﺪ . در ﻫﺮ ﻣﻮرد ، ﻣﺠﻤﻮﻋﻪ اﻋﺪاد ( ﺗﺮﮐﯿﺒﯽ از ﻋﻼﻣﺖ ، ﺗﻮان و signfcand ) ﻣﻤﮑﻦ اﺳﺖ ﺑﻄﻮر ﯾﮑﺴﺎن رﻣﺰ ﮔﺰاری ﺷﻮﻧﺪ و ﺳﯿﮕﻨﺎل ﻫﺎی NaN ازﯾﮏ رﻣﺰ ﮔﺰاری ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮد اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﺪ( ﻣﺠﻤﻮﻋﻪ ﻣﺸﺎﺑﻪ ﻣﺤﻤﻮﻟﻪ ﻫﺎی ﻣﻤﮑﻦ) اﻟﮕﻮ رﯾﺘﻢ ﻫﺎی ﮔﺮد ﮐﺮدن : اﯾﻦ اﺳﺘﺎﻧﺪارد ﭘﻨﺞ ﺗﻌﺮﯾﻒ ﺑﺮای اﻟﮕﻮرﯾﺘﻢ ﻫﺎی ﮔﺮد ﮐﺮدن دارد . اول دو ﺗﻌﺮﯾﻒ ﺑﺮای ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻣﻘﺪار و ﺑﻘﯿﻪ ﮔﺮد ﮐﺮدن ﻫﺎ ﻣﺴﺘﻘﯿﻢ ﻧﺎﻣﯿﺪه ﻣﯽ ﺷﻮد: اﻟﮕﻮرﯾﺘﻢ ﮔﺮد ﮐﺮدن ﺑﻪ ﻧﺰدﯾﮏ ﺗﺮﯾﻦ ﻣﻘﺪار: • ﮔﺮد ﮐﺮدن ﺑﻪ ﺳﻤﺖ ﻧﺰدﯾﮏ ﺗﺮﯾﻦ ﻋﺪد زوج : اﮔﺮ ﻋﺪد از ﻧﯿﻤﻪ ﮐﻤﺘﺮ ﺑﺎﺷﺪ ، ﺑﻪ ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻣﻘﺪار ﺑﺎ ﺣﺪاﻗﻞ ﺑﯿﺖ ﻫﺎی ﺿﺮﯾﺐ زوج (ﺻﻔﺮ) ﮔﺮد ﻣﯽ ﺷﻮد ، ﮐﻪ اﯾﻦ اﺗﻔﺎق در 50% ﻣﻮاﻗﻊ ﻣﯽ اﻓﺘﺪ .اﯾﻦ اﻟﮕﻮرﯾﺘﻢ ﺑﻪ ﺻﻮرت ﭘﯿﺶ ﻓﺮض ﺑﺮروی اﻋﺪاد ﻣﻤﯿﺰ ﺷﻨﺎور دودوﯾﯽ اﻧﺠﺎم ﻣﯽ ﺷﻮد و ﭘﯿﺶ ﻓﺮض ﻗﺮار دادن آن ﺑﺮای اﻋﺪاد دﻫﺪﻫﯽ ﻧﯿﺰ ﺗﻮﺻﯿﻪ ﺷﺪه اﺳﺖ . ﮔﺮد ﮐﺮدن ﺑﻪ ﺳﻤﺖ دور ﺷﺪن از ﻣﻘﺪار ﺻﻔﺮ : ﮔﺮد ﮐﺮدن ﺑﻪ ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻣﻘﺪار؛ اﮔﺮ ﻋﺪد ﮐﻤﺘﺮ از ﻧﯿﻤﻪ ﺑﺎﺷﺪ ، ﺑﻪ ﻧﺰدﯾﮑﺘﺮﯾﻦ ﻣﻘﺪار ﺑﺎﻻ ( ﺑﺮای اﻋﺪاد ﻣﺜﺒﺖ ) ﯾﺎ ﭘﺎﯾﯿﻦ ( ﺑﺮای اﻋﺪاد ﻣﻨﻔﯽ ) ﮔﺮد ﺷﺪه اﺳﺖ . ﮔﺮد ﮐﺮدن ﻣﺴﺘﻘﯿﻢ : • ﮔﺮد ﮐﺮدن ﺑﻪ ﺳﻤﺖ ﺻﻔﺮ( Round toward 0) : ﺟﻬﺖ ﮔﺮد ﮐﺮدن ﺑﻪ ﺳﻤﺖ ﺻﻔﺮ ( ﮐﻪ ﮐﻮﺗﺎه ﺳﺎزی ﻫﻢ ﻧﺎﻣﯿﺪه ﻣﯽ ﺷﻮد .) • ﮔﺮد ﮐﺮدن ﺑﻪ ﺳﻤﺖ ﻣﺜﺒﺖ ﺑﯽ ﻧﻬﺎﯾﺖ (∞+Round toward) : ﺟﻬﺖ ﮔﺮد ﮐﺮدن ﺑﻪ ﺳﻤﺖ ﻣﺜﺒﺖ ﺑﯽ ﺟﻬﺖ ﮔﺮد ﮐﺮدن • ﮔﺮد ﮐﺮدن ﺑﻪ ﺳﻤﺖ ﻣﻨﻔﯽ ﺑﯽ ﻧﻬﺎﯾﺖ(∞− Round toward):ﺟﻬﺖ ﮔﺮد ﮐﺮدن ﺑﻪ ﺳﻤﺖ ﻣﻨﻔﯽ ﺑﯽ ﻧﻬﺎﯾﺖ. ﻋﻤﻠﮕﺮﻫﺎ : ﻋﻤﻠﮕﺮﻫﺎی ﻣﻮرد ﻧﯿﺎزﺑﺮای ﭘﺸﺘﯿﺒﺎﻧﯽ از ﻗﺎﻟﺐ ﻫﺎی رﯾﺎﺿﯽ(در ﺑﺮدارﻧﺪه ﻗﺎﻟﺐ ﻫﺎی اﺻﻠﯽ) ﺷﺎﻣﻞ: • ﻋﻤﻠﮕﺮﻫﺎی ﺣﺴﺎﺑﯽ ( ﺟﻤﻊ ، ﺗﻔﺮﯾﻖ ، ﺿﺮب ، ﺗﻘﺴﯿﻢ ، ﻣﺠﺬور ، ﺿﺮب ﯾﺎ ﺟﻤﻊ ﺗﺮﮐﯿﺒﯽ ، ﺑﺎﻗﯿﻤﺎﻧﺪه و ﻏﯿﺮه ) • ﺗﺒﺪﯾﻼت ( ﺑﯿﻦ ﻓﺮﻣﺘﻬﺎ رﺷﺘﻪ ﻫﺎ و ﻏﯿﺮه ) • ﻣﻘﯿﺎس ﮔﺰاری ( ﺑﺮای دﻫﺪﻫﯽ ) واﻧﺪازه ﮔﯿﺮی ﻣﻘﺪار دﻗﺖ ﯾﮏ ﻣﺘﻐﯿﯿﺮ ﻧﺴﺒﺖ ﺑﻪ ﻣﻘﺎدﯾﺮ ﯾﮏ ﻣﺠﻤﻮﻋﻪ ﺧﺎص • ﮐﭙﯽ ﮐﺮدن و دﺳﺘﮑﺎری ﮐﺮدن ﻋﻼﻣﺖ ( ﻗﺪر ﻣﻄﻠﻖ ، ﻣﻨﻔﯽ ﮐﺮدن و ﻏﯿﺮه ) • ﻣﻘﺎﯾﺴﻪ ﻫﺎ و ﻣﺮﺗﺒﻪ ﮐﻞ • ﮐﻼس ﺑﻨﺪی و ﺑﺮرﺳﯽ NaNsو... • ﺑﺮرﺳﯽ و ﺗﻨﻈﯿﻤﺎت ﻓﻠﮕﻬﺎ • ﻋﻤﻠﮕﺮﻫﺎی ﮔﻮﻧﺎﮔﻮن ﻣﺪﯾﺮﯾﺖ ﺧﻄﺎ (اﺳﺘﺜﻨﺎء) : اﯾﻦ اﺳﺘﺎﻧﺪارد ، ﭘﻨﺞ ﺧﻄﺎ ﺗﻌﺮﯾﻒ ﻣﯽ ﮐﻨﺪ ﮐﻪ ﻫﺮ ﮐﺪام ﯾﮏ ﭘﺮﭼﻢ وﺿﻌﯿﺖ ﻣﺮﺑﻮط ﺑﻪ ﺧﻮد دارﻧﺪ ﮐﻪ ( ﺧﻄﺎ در ﺑﻌﻀﯽ ﻣﻮارد ﺗﻪ رﯾﺰ اﺳﺖ ) ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﺧﻄﺎ رخ دﻫﺪ ، ﺑﺎﻻ ﻣﯽ روﻧﺪ.اﻣﺎ ﭘﯿﺸﻨﻬﺎدات دﯾﮕﺮی ﻫﻢ ﺗﻮﺻﯿﻪ ﺷﺪه اﺳﺖ ( زﯾﺮ را ﺑﺒﯿﻨﯿﺪ ) اﯾﻨﻬﺎ ﭘﻨﺞ ﻣﻮرد ازاﺣﺘﻤﺎﻻت ﺧﻄﺎ ﻫﺴﺘﻨﺪ : • ﻋﻤﻞ ﻏﯿﺮ ﻣﻌﺘﺒﺮ ( ﻣﺎﻧﻨﺪ ﺟﺬر ﮔﺮﻓﺘﻦ ازﯾﮏ ﻋﺪد ﻣﻨﻔﯽ ) • ﺗﻘﺴﯿﻢ ﺑﺮ ﺻﻔﺮ • ﺳﺮ رﯾﺰ ( ﻧﺘﯿﺠﻪ آﻧﻘﺪر ﺑﺰرگ اﺳﺖ ﮐﻪ ﺑﻄﻮر ﺻﺤﯿﺢ ﻗﺎﺑﻞ ﻧﻤﺎﯾﺶ ﻧﯿﺴﺖ ) • ﺗﻪ رﯾﺰ ( ﻧﺘﯿﺠﻪ ﺧﯿﻠﯽ ﮐﻮﭼﮏ ( ﺧﺎرج از ﻣﺤﺪوده ﻧﺮﻣﺎل ) و ﻏﯿﺮ دﻗﯿﻖ اﺳﺖ ) • ﻋﻤﻞ ﻏﯿﺮ دﻗﯿﻖ ﭘﯿﺸﻨﻬﺎد ﻫﺎ : ﻣﺪﯾﺮﯾﺖ ﺧﻄﺎﻫﺎی ﻣﺘﻨﺎوب .