Кіріспе
IEEE 754 1985 жылғы жылжымалы нүктелік сандарды компьютерлерде бейнелеуге арналған тарихи өнеркәсіп стандарты болып табылады, ол 1985 жылы ресми түрде қабылданды және 2008 жылы IEEE 754 2008, ал 2019 жылы IEEE 754 2019 шағын түзетуімен жаңартылды. 23 жыл бойы бұл жылжымалы нүктелік есептеулер үшін ең көп қолданылатын формат болды. Ол бағдарламалық қамтамасызда, жылжымалы нүктелік кітапханалар түрінде, сондай-ақ көптеген процессорлар (CPU) мен жылжымалы нүктелік процессорлардың (FPU) нұсқауларында аппараттық қамтамасызда іске асырылды. IEEE 754 1985 стандартын іске асырған алғашқы интегралдық схема Intel 8087 болды. IEEE 754 1985 сандарды екілік түрінде көрсетеді және төрт деңгейлі дәлдік үшін анықтама береді, олардың ең көп қолданылатындары:
IEEE 754 1985 is a historic industry standard for representing floating point numbers in computers, officially adopted in 1985 and superseded in 2008 by IEEE 754 2008, and then again in 2019 by minor revision IEEE 754 2019. During its 23 years, it was the most widely used format for floating point computation. It was implemented in software, in the form of floating point libraries, and in hardware, in the instructions of many CPUs and FPUs. The first integrated circuit to implement the draft of what was to become IEEE 754 1985 was the Intel 8087. IEEE 754 1985 represents numbers in binary, providing definitions for four levels of precision, of which the two most commonly used are:
LevelWidthRange at full precisionPrecisionSingle precision32 bits±1.18 to ±3.4Approximately 7 decimal digitsDouble precision64 bits±2.23 to ±1.80Approximately 16 decimal digits
The standard also defines representations for positive and negative infinity, a "negative zero", five exceptions to handle invalid results like division by zero, special values called NaNs for representing those exceptions, denormal numbers to represent numbers smaller than shown above, and four rounding modes.
Дәлдік | Кеңдік | Толық дәлдіктегі диапазон
------- | -------- | --------
Жарым дәлдік | 32 бит | ±1.18 x 10⁻³⁸ дейін ±3.4 x 10³⁸
Қос дәлдік | 64 бит | ±2.23 x 10⁻³⁰⁸ дейін ±1.80 x 10³⁰⁸
Ондық цифрлер саны (шамамен) | | 7 | 16
IEEE 754 1985 is a historic industry standard for representing floating point numbers in computers, officially adopted in 1985 and superseded in 2008 by IEEE 754 2008, and then again in 2019 by minor revision IEEE 754 2019. During its 23 years, it was the most widely used format for floating point computation. It was implemented in software, in the form of floating point libraries, and in hardware, in the instructions of many CPUs and FPUs. The first integrated circuit to implement the draft of what was to become IEEE 754 1985 was the Intel 8087. IEEE 754 1985 represents numbers in binary, providing definitions for four levels of precision, of which the two most commonly used are:
LevelWidthRange at full precisionPrecisionSingle precision32 bits±1.18 to ±3.4Approximately 7 decimal digitsDouble precision64 bits±2.23 to ±1.80Approximately 16 decimal digits
The standard also defines representations for positive and negative infinity, a "negative zero", five exceptions to handle invalid results like division by zero, special values called NaNs for representing those exceptions, denormal numbers to represent numbers smaller than shown above, and four rounding modes.
Стандарт сонымен қатар оң және теріс шексіздікті, «теріс нөлді», нөлге бөлу сияқты жарамсыз нәтижелерді өңдеу үшін бес ерекше жағдайды, осы ерекше жағдайларды көрсету үшін NaNs деп аталатын арнайы мәндерді, жоғарыда көрсетілгеннен кіші сандарды көрсету үшін денормалдық сандарды және төрт дөңгелектеу режимін анықтайды.
IEEE 754 1985 is a historic industry standard for representing floating point numbers in computers, officially adopted in 1985 and superseded in 2008 by IEEE 754 2008, and then again in 2019 by minor revision IEEE 754 2019. During its 23 years, it was the most widely used format for floating point computation. It was implemented in software, in the form of floating point libraries, and in hardware, in the instructions of many CPUs and FPUs. The first integrated circuit to implement the draft of what was to become IEEE 754 1985 was the Intel 8087. IEEE 754 1985 represents numbers in binary, providing definitions for four levels of precision, of which the two most commonly used are:
LevelWidthRange at full precisionPrecisionSingle precision32 bits±1.18 to ±3.4Approximately 7 decimal digitsDouble precision64 bits±2.23 to ±1.80Approximately 16 decimal digits
The standard also defines representations for positive and negative infinity, a "negative zero", five exceptions to handle invalid results like division by zero, special values called NaNs for representing those exceptions, denormal numbers to represent numbers smaller than shown above, and four rounding modes.
Денормалданған сандар
Жоғарыда сипатталған сандық өрнектеулер нормаланған деп аталады, яғни жасырын алғашқы екілік сан 1 болады. Төмендеу кезінде дәлдіктің жоғалуын азайту үшін IEEE 754 нормаланған өрнектеуде мүмкін емес кішкентай бөлшектерді бейнелеуге мүмкіндік береді, жасырын алғашқы цифрды 0 етіп өзгерту арқылы. Мұндай сандар денормалданған деп аталады. Олар нормаланған сан сияқты көп маңызды цифрларды қамтымайды, бірақ операцияның нәтижесі нақты нөлге тең болмаса, бірақ нормаланған санмен бейнелеуге тым жақын болғанда дәлдіктің біртіндеп жоғалуын қамтамасыз етеді. Денормалданған сан, барлық 0 биттерінен тұратын ығысқан экспонентамен көрсетіледі, бұл бірлік дәлдігінде -126 экспонентасын (оны -127 емес), ал қос дәлдігінде -1022 экспонентасын (оны -1023 емес) білдіреді. Ал, нормал санды білдіретін ең кішкентай ығысқан экспонента 1 болады (төмендегі мысалдарды қараңыз).
Сан емес элементтердің бейнеленуі
Бұрыс экспоненталық өріс, есептеу нәтижесінің шексіздік екенін немесе жарамсыз екенін көрсету үшін барлық 1 биттерімен толтырылады.
NaN
Ауыспалы нүктелі арифметиканың кейбір операциялары жарамсыз, мысалы, теріс санның квадрат түбірін табу. Жарамсыз нәтижеге жетуі – жылжымалы нүктелік қателік деп аталады. Қателік нәтижесі "Сан емес" дегенді білдіретін NaN деп аталатын арнайы кодпен көрсетіледі. IEEE 754 1985 стандарты бойынша барлық NaN мына форматта болады:
таңбасы = 0 немесе 1.
беткейленген көрсеткіші = барлық 1 биттері. бөлшегі = барлық 0 биттерінен басқа кез келген мән (барлық 0 биттері шексіздікті білдіргендіктен).
biased exponent = all 1 bits. fraction = anything except all 0 bits (since all 0 bits represents infinity).
Қашықтық және дәлдік
Дәлдік – екі тікелей келесі мантиссалық өрнектеме арасындағы ең кішкентай айырмашылық ретінде анықталады; демек, ол тек мантиссаға байланысты; ал қадам – екі тікелей келесі сан арасындағы айырмашылық ретінде анықталады.
Нақты сандарды кеңейту
IEEE стандарты жеке оң және теріс шексіздіктерді қолданады (және кеңейтеді) аффиналды кеңейтілген нақты сандар жүйесі арқылы. Стандартты жасау кезінде, бір белгісіз шексіздікпен, бағдарламашыларға режимді таңдау мүмкіндігін беру арқылы, жобалау арқылы кеңейтілген нақты сандар жүйесін қосу туралы ұсыныс болды. Алайда, соңғы стандарттың күрделілігін төмендету үшін проективтік режим алынып тасталды. Intel 8087 және Intel 80287 процессорлары осы проективтік режимді қолдайды.