Статьи

WikiZero - Число з плаваючою комою

  1. «Плаваюча кома» і «плаваюча точка» [ правити | правити код ]
  2. Нормальна і нормалізована форми [ правити | правити код ]
  3. Діапазон чисел, які представлені в форматі з плаваючою комою [ правити | правити код ]
  4. Машинний епсилон [ правити | правити код ]

open wikipedia design.

Число з плаваючою комою (або число з плаваючою точкою) - форма подання речових (дійсних) чисел , В якій число зберігається в формі мантиси і показника ступеня . При цьому число з плаваючою комою має фіксовану відносну точність і змінюється абсолютну. Що використовується найбільш часто уявлення затверджено в стандарті IEEE 754 . Реалізація математичних операцій з числами з плаваючою комою в обчислювальних системах може бути як апаратна, так і програмна.

«Плаваюча кома» і «плаваюча точка» [ правити | правити код ]

Так як в деяких, переважно англомовних і англофіцірованних країнах під час запису чисел ціла частина відділяється від дробової точкою, то в термінології цих країн фігурує назва «плаваюча точка» ( англ. floating point). Так як в Росії ціла частина числа від дробу традиційно відокремлюється комою, то для позначення того ж поняття історично використовується термін «плаваюча кома», проте в даний час в російськомовній літературі і технічної документації можна зустріти обидва варіанти.

Назва «плаваюча кома» походить від того, що кома в позиційному поданні числа (десяткова кома, або, для комп'ютерів, двійкова кома - далі по тексту просто кома) може бути поміщена де завгодно щодо цифр в рядку. Це положення коми вказується окремо у внутрішньому поданні. Таким чином, уявлення числа в формі з плаваючою комою може розглядатися як комп'ютерна реалізація експоненційної запису чисел.

Перевага використання уявлення чисел в форматі з плаваючою комою над виставою в форматі з фіксованою комою цілими числами ) Полягає в тому, що можна використовувати істотно більший діапазон значень при незмінній відносної точності . Наприклад, у формі з фіксованою комою число, що займає 6 розрядів в цілій частині і 2 розряду після коми, може бути представлено у вигляді 123 456,78. У свою чергу, в форматі з плаваючою комою в тих же 8 розрядах можна записати числа 1,2345678; 1 234 567,8; +0,000012345678; 12 345 678 000 000 000 і так далі, але для цього необхідно мати додаткове дворозрядне поле для запису показників ступеня підстави 10 від 0 до 16, при цьому загальне число розрядів складе 8 + 2 = 10.

Швидкість виконання комп'ютером операцій з числами, представленими у формі з плаваючою комою, вимірюється у FLOPS (від англ. floating-point operations per second - «[кількість] операцій з плаваючою комою в секунду»), і є однією з основних одиниць вимірювання швидкодії обчислювальних систем.

Число з плаваючою комою складається з наступних частин:

  • знак мантиси (вказує на негативність або позитивність числа),
  • мантиса (висловлює значення числа без урахування порядку ),
  • знак порядку,
  • порядок (висловлює ступінь підстави числа, на яке множиться мантиса).

Нормальна і нормалізована форми [ правити | правити код ]

Нормальною формою числа з плаваючою комою називається така форма, в якій мантиса (без урахування знака) знаходиться на полуінтервале [0 1), тобто 0 ⩽ a <1.

Така форма запису має недолік: деякі числа записуються неоднозначно (наприклад, 0,0001 можна записати як 0,000001⋅102, 0,00001⋅101, 0,0001⋅100, 0,001⋅10-1, 0,01⋅10-2 і так далі), тому поширена (особливо в інформатиці) також інша форма запису - нормалізована, в якій мантиса десяткового числа приймає значення від 1 (включно) до 10 (виключно), тобто 1 ⩽ a <10 (аналогічно мантиса двійкового числа приймає значення від 1 до 2). У такій формі будь-яке число (крім 0) записується єдиним чином. Недолік полягає в тому, що в такому вигляді неможливо уявити 0, тому уявлення чисел в інформатиці передбачає спеціальну ознаку ( біт ) Для числа 0.

Старший розряд (ціла частина числа) мантиси двійкового числа (крім 0) в нормалізованому вигляді дорівнює 1 (так звана неявна одиниця), тому при запису мантиси числа в ЕОМ старший розряд годі й записувати, що і використовується в стандарті IEEE 754 . В позиційних системах числення з підставою більшим, ніж 2 (в троичной , Четверичной і ін.), Цього властивості немає.

При обмежених можливостях оформлення (наприклад, відображення числа на семисегментний індикаторі ), А також при необхідності забезпечити швидкий і зручний введення чисел, замість запису виду m · be (m - мантиса; b - підставу , Найчастіше 10; e - експонента), записують лише мантиссу і показник ступеня, розділяючи їх буквою «E» (від англ. exponent). Підстава при цьому неявно вважають рівним 10. Наприклад, число 1,528535047⋅10-25 в цьому випадку записується як 1.528535047E-25.

Існує кілька способів того, як рядки з цифр можуть представляти числа:

  • Найбільш поширений шлях подання значення числа з рядка з цифрами - в вигляді цілого числа - кома (radix point) за замовчуванням знаходиться в кінці рядка.
  • Загалом математичному поданні рядок з цифр може бути як завгодно довгою, а положення коми позначається шляхом явної записи символу коми (або, на Заході, точки) в потрібному місці.
  • У системах з поданням чисел у форматі з фіксованою комою існує певний умова щодо положення коми. Наприклад, в рядку з 8 цифр умова може наказувати положення коми в середині запису (між 4-й і 5-й цифрою). Таким чином, рядок «00012345» позначає число 1,2345 (нулі зліва завжди можна відкинути).
  • У експоненційної запису використовують стандартний (нормалізований) вид представлення чисел. Число вважається записаним в стандартному (нормалізованому) вигляді, якщо воно записано у вигляді a q n {\ displaystyle aq ^ {n}} open wikipedia design , Де a {\ displaystyle a} , Зване мантиссой, таке, що 1 ≤ a <q {\ displaystyle 1 \ leq a <q} , N {\ displaystyle n} - ціле, називається показник ступеня і q {\ displaystyle q} - ціле, підстава системи числення (на листі це зазвичай 10). Тобто в мантисі кома поміщається відразу після першої значущої (не дорівнює нулю) цифри, рахуючи зліва направо, а подальша запис дає інформацію про дійсне значення числа. Наприклад, період обертання (на орбіті) супутника Юпітера Іо , Який дорівнює 152 853,5047 с, в стандартному вигляді можна записати як 1,528535047⋅105 с. Побічним ефектом обмеження на значення мантиси є те, що в такому записі неможливо зобразити число 0.
  • Запис в формі з плаваючою комою схожа на запис чисел в стандартному вигляді, але мантиса і експонента записуються окремо. Мантиса записується в нормалізованому форматі - з фіксованою комою, мається на увазі після першої значущої цифри. Повертаючись до прикладу з Іо, запис у формі з плаваючою комою буде 1528535047 з показником 5. Це означає, що записане число в 105 разів більше числа 1,528535047, тобто для отримання якого мається на увазі числа кома зсувається на 5 розрядів вправо. Однак, запис у формі з плаваючою комою використовується в основному в електронному поданні чисел, при якому використовується підставу системи числення 2, а не 10. Крім того, в двійковій запису мантиса зазвичай денормалізована, тобто кома мається на увазі до першої цифри, а не після, і цілої частини взагалі не мається на увазі - так з'являється можливість і значення 0 зберегти природним чином. Таким чином, десяткова 9 в двійковому поданні з плаваючою комою буде записана як мантиса + 1001000 ... 0 і показник + 0 ... 0100. Звідси, наприклад, біди з двійковим поданням чисел типу однієї десятої (0,1), для якої двійкове подання мантиси виявляється періодичної двійковій дробом - по аналогії з 1/3, яку не можна кінцевим кількістю цифр записати в десятковій системі числення.

Запис числа в формі з плаваючою комою дозволяє робити обчислення над широким діапазоном величин, поєднуючи фіксовану кількість розрядів і точність. Наприклад, у десятковій системі подання чисел з плаваючою комою (3 розряду) операцію множення, яку ми б записали як

0,12 × 0,12 = 0,0144

в нормальній формі представляється у вигляді

(1,20⋅10-1) × (1,20⋅10-1) = (1,44⋅10-2).

У форматі з фіксованою комою ми б отримали вимушене округлення

0,120 × 0,120 = 0,014.

Ми втратили крайній правий розряд числа, так як даний формат не дозволяє коми «плавати» по запису числа.

Діапазон чисел, які представлені в форматі з плаваючою комою [ правити | правити код ]

Діапазон чисел, які можна записати таким способом, залежить від кількості біт, відведених для подання мантиси і показника. На звичайній 32-бітної обчислювальної машині, яка використовує подвійну точність (64 біта), мантиса становить 1 біт знак + 52 біта, показник - 1 біт знак + 10 біт. Таким чином отримуємо діапазон точності приблизно від 4,94⋅10-324 до 1.79⋅10308 (від 2-52 × 2-1022 до ~ 1 × 21024). У стандарті IEEE 754 кілька значень даного типу зарезервовано для забезпечення можливості подання спеціальних значень. До них відносяться значення NaN (Not a Number, "не число») і +/- INF (Infinity, нескінченність ), Які утворюються в результаті операцій ділення на нуль або при перевищенні числового діапазону. Також сюди потрапляють денормалізовані числа , У яких мантиса менше одиниці. У спеціалізованих пристроях (наприклад, GPU ) Підтримка спеціальних чисел часто відсутня. Існують програмні пакети, в яких обсяг пам'яті, виділений під мантиссу і показник, задається програмно і обмежується лише обсягом доступної пам'яті ЕОМ (див. Арифметика довільної точності ).

Точність Одинарна Подвійна Розширена Розмір (байти) 4. 8 10 Число десяткових знаків ~ 7.2 ~ 15.9 ~ 19.2 Найменше значення (> 0), denorm 1,4⋅10-45 5,0⋅10-324 1,9⋅10-4951 Найменша значення (> 0), normal 1,2⋅10-38 2,3⋅10-308 3,4⋅10-4932 Найбільше значення 3,4 × 10 + 38 1,7 × 10 + 308 1,1 × 10 + 4932 Поля SEF SEF SEIF Розміри полів 1-8-23 1-11-52 1-15-1-63

  • S - знак, E - показник ступеня, I - ціла частина, F - дрібна частина
  • Так само, як і для цілих, знаковий біт - старший.

Машинний епсилон [ правити | правити код ]

На відміну від чисел з фіксованою комою , Сітка чисел, які здатна відобразити арифметика з плаваючою комою, нерівномірна: вона густіша для чисел з малими порядками і більш рідкісна - для чисел з великими порядками. але відносна погрішність записи чисел однакова і для малих чисел, і для великих. Машинним Епсілон називається найменше позитивне число ε таке, що 1 ⊕ ε ≠ 1 {\ displaystyle 1 \ oplus \ varepsilon \ neq 1} На відміну від чисел з   фіксованою комою   , Сітка чисел, які здатна відобразити арифметика з плаваючою комою, нерівномірна: вона густіша для чисел з малими порядками і більш рідкісна - для чисел з великими порядками (Знаком ⊕ {\ displaystyle \ oplus} позначено машинне складання). Грубо кажучи, числа a і b, що співвідносяться так, що 1 <a b <1 + ε {\ displaystyle 1 <{\ frac {a} {b}} <1+ \ varepsilon} , Машина не розрізняє.

Для одинарної точності ε = 2 - 24 ≈ 5, 96 ⋅ 10 - 8 {\ displaystyle \ varepsilon = 2 ^ {- 24} \ approx 5,96 \ cdot 10 ^ {- 8}} Для одинарної точності ε = 2 - 24 ≈ 5, 96 ⋅ 10 - 8 {\ displaystyle \ varepsilon = 2 ^ {- 24} \ approx 5,96 \ cdot 10 ^ {- 8}}   , Тобто, приблизно 7   значущих цифр , Тобто, приблизно 7 значущих цифр . Для подвійної точності: ε = 2 - 53 ≈ 1, 11 ⋅ 10 - 16 {\ displaystyle \ varepsilon = 2 ^ {- 53} \ approx 1,11 \ cdot 10 ^ {- 16}} , 15 значущих цифр [1] .

  1. E. Cheney, David Kincaid. Numerical Mathematics and Computing. - Cengage Learning, 2012. - 43- p. - ISBN 1-133-71235-5 .
  • Криницький Н. А., Миронов Г. А., Фролов Г. Д. Програмування. - М.: Державне видавництво фізико-математичної літератури, 1963. - 384 с.
  • Генрі С. Уоррен, мл. Глава 15. Числа з плаваючою точкою // Алгоритмічні трюки для програмістів = Hacker's Delight. - М.: Вільямс , 2007. - С. 288. - ISBN 0-201-91465-4 .

Новости


 PHILIP LAURENCE   Pioneer   Антистресс   Аромалампы   Бизнес   Игры   Косметика   Оружие   Панно   Романтика   Спорт   Фен-Шуй   Фен-Шуй Аромалампы   Часы   ЭКСТРИМ   ЭМОЦИИ   Экскурсии   визитницы   подарки для деловых людей   фотоальбомы  
— сайт сделан на студии « Kontora #2 »
E-mail: [email protected]



  • Карта сайта