Дійсні числа в інформатиці. Подання чисел в комп'ютері

Тема: Подання чисел в комп'ютері. Формат з фіксованою і плаваючою комою. Прямий, зворотний і додатковий код.

повторення: Переклад цілих чисел в двійкову систему числення:

13 10 = а 2 аналогічно:

13 10 =1101 2

1345 10 =10101000001 2


Подання цілих чисел в комп'ютері.

Вся інформація, що обробляється комп'ютерами, зберігається в них в двійковому вигляді. Яким же чином здійснюється це зберігання?

Інформація, що вводиться в комп'ютер і виникає в ході його роботи, зберігається в його пам'яті. Пам'ять комп'ютера можна уявити як довгу сторінку, що складається з окремих рядків. Кожна така рядок називається осередком пам'яті .

Комірка - це частина пам'яті комп'ютера, що вміщає в себе інформацію, доступну для обробки окремою командою процесора. Мінімальною адресується осередком пам'яті називається байт - 8 двійкових розрядів. Порядковий номер байта називається його адресою .

осередок (8біт \u003d 1байт)

машинним словом.

Осередок пам'яті складається з деякого числа однорідних елементів. Кожен елемент здатний перебувати в одному з двох станів і служить для зображення одного з розрядів числа. Саме тому кожен елемент осередку називають розрядом . Нумерацію розрядів в осередку прийнято вести справа наліво, самий правий розряд має порядковий номер 0. Це молодший розряд осередку пам'яті, старший розряд має порядковий номер (n-1) в n-розрядної комірки пам'яті.

Вмістом будь-якого розряду може бути або 0, або 1.

Вміст комірки пам'яті називається машинним словом. Осередок пам'яті розділяється на розряди, в кожному з яких зберігається розряд числа.

Наприклад, найсучасніші персональні комп'ютери є 64-розрядним, тобто машинне слово і відповідно, осередок пам'яті, складається з 64 розрядів або бітів.

біт - мінімальна одиниця виміру інформації. Кожен біт може приймати значення 0 або 1. бітом також називають розряд осередки пам'яті ЕОМ.

Стандартний розмір найменшої комірки пам'яті дорівнює восьми бітам, тобто восьми двійковим розрядам. Сукупність з 8 бітів є основною одиницею подання даних - байт.

байт (Від англійського byte - склад) - частина машинного слова, що складається з 8 біт, що обробляється в ЕОМ як одне ціле. На екрані - елемент пам'яті, що складається з 8 розрядів - це байт. Молодший розряд має порядковий номер 0, старший розряд - порядковий номер 7.

8 біт \u003d 1 байт

Для представлення чисел в пам'яті комп'ютера використовуються два формати: формат з фіксованою точкою і формат з плаваючою точкою . У форматі з фіксованою точкою представляються тільки цілі числа , В форматі з плаваючою точкою - речові числа (дробові).

У переважній більшості завдань, що вирішуються за допомогою ЕОМ, багато дії зводяться до операцій над цілими числами. Сюди відносяться завдання економічного характеру, при вирішенні яких даними служать кількості акцій, співробітників, деталей, транспортних засобів і т.д. Цілі числа використовуються для позначення дати і часу, і для нумерації різних об'єктів: елементів масивів, записів в базах даних, машинних адрес і т.д.

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

Цілі числа без знака зазвичайзаймають в пам'яті один або два байти і приймають в однобайтового форматі значення від 00000000 2 до 11111111 2 , А в двухбайтового форматі - від 00000000 00000000 2 до 11111111 11111111 2 .

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

1101 2 10101000001 2

Розряд, що відводиться під знак

(В цьому випадку +)

Відсутні до цілого байта старші розряди заповнюються нулями.

У комп'ютерній техніці застосовуються три форми запису (кодування) цілих чисел зі знаком:прямий код , зворотний код , додатковий код .

прямий код - це уявлення числа в двійковій системі числення, при цьому перший розряд відводиться під знак числа. Якщо число позитивне, то в першому розряді знаходиться 0, якщо число негативне, в першому розряді вказується одиниця.

Насправді прямий код використовується майже виключно для позитивних чисел.Для запису прямого коду числа необхідно:

    Уявити число в двійковій системі

    Доповнити запис числа нулями до передостаннього старшого розряду 8-ми розрядної або 16-ти розрядної комірки

    Заповнити старший розряд нулем або одиницею в залежності від знака числа.

приклад:число 3 10 ст прямому коді однобайтном формату буде представлено у вигляді:


чісло -3 10 в прямому коді однобайтном формату має вигляд:


зворотний код для позитивного числа в двійковій системі числення збігається з прямим кодом. Для негативного числа всі цифри числа замінюються на протилежні (1 на 0, 0 на 1)инвертировать, А в знаковий розряд заноситься одиниця.

Для негативних чисел використовується так званий додатковий код. Це пов'язано із зручністю виконання операцій над числами обчислювальною технікою.

додатковий код використовують в основному для подання в комп'ютері негативних чисел. Такий код робить арифметичні операції більш зручними для виконання їх обчислювальною технікою.

У додатковому коді, також як і прямому, перший розряд відводиться для представлення знака числа. Прямий і додатковий код для позитивних чисел збігається. Оскільки прямий код використовується майже виключно для представлення позитивних чисел, а додатковий - для негативних, то майже завжди, якщо в першому розряді 1, то ми маємо справу з додатковим кодом. (Нуль означає позитивне число, а одиниця - негативне).

Алгоритм отримання додаткового коду для негативного числа:

1. Знайти прямий код числа (перевести число в двійкову систему числення число без знака)

2. Отримати зворотний код. Поміняти кожен нуль на одиницю, а одиницю на нуль (інвертувати число)

3. До зворотного коду додати 1

приклад: Знайдемо додатковий код десяткового числа - 47 в 16-ти розрядному форматі.

    Знайдемо двійкову запис числа 47 (прямий код).

2. Інвертуємо це число (зворотний код). 3. Додамо 1 до зворотного коду і отримаємо запис цього числа в оперативній пам'яті.

Важливо!

Для позитивних чисел прямий, зворотний і додатковий коди - це одне і теж, тобто прямий код. Позитивні числа для подання в комп'ютері инвертировать не треба!

Чому ж використовуєтьсядодатковий код для подання негативного числа?

Так простіше виконувати математичні операції. Наприклад, у нас два числа, представлених в прямому коді. Одне число позитивне, інше - негативне і ці числа потрібно скласти. Однак просто скласти їх не можна. Спочатку комп'ютер повинен визначити, що це за числа. З'ясувавши, що одне число негативне, йому слід замінити операцію складання операцією віднімання. Потім, машина повинна визначити, яке число більше за модулем, щоб з'ясувати знак результату і визначитися з тим, що з чого віднімати. У підсумку, виходить складний алгоритм. Куди простіше складати числа, якщо негативні перетворені в додатковий код.

Практична завдання:

Завдання 1. Записати прямий, зворотний і додатковий коди наступних десяткових чисел, використовуючи8-розрядний осередок:

64 10, - 120 10

Завдання 2. Записати прямий, зворотний і додатковий коди наступні десяткові числа в 16-ти розрядної сітці

57 10 - 117 10 - 200 10

Будь-якому, хто хоч раз замислювався в житті про те, щоб стати "айтишником" або системним адміністратором, та й просто пов'язати долю з знання про те, як відбувається уявлення чисел в абсолютно необхідно. Адже саме на цьому грунтуються мови програмування низького рівня, такі як Assembler. Тому сьогодні ми розглянемо уявлення чисел в комп'ютері і їх розміщення в осередках пам'яті.

Система числення

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

Щоб перевести звичні для нас десяткові числа до виду, зрозумілому комп'ютера, потрібно скористатися описаним нижче алгоритмом. Існують і спеціалізовані калькулятори.

Отже, для того щоб перевести число в двійкову систему числення, потрібно взяти обраний нами значення і поділити його на 2. Після цього ми отримаємо результат і залишок (0 або 1). Результат знову ділимо 2 і запам'ятовуємо залишок. Дану процедуру потрібно повторювати до тих пір, поки в результаті також не опиниться 0 або 1. Потім записуємо кінцеве значення і залишки в зворотному порядку, як ми їх отримували.

Саме так і відбувається представлення чисел в комп'ютері. Будь-яке число записується в двійковій формі, а потім займає комірку пам'яті.

пам'ять

Як вам повинно бути вже відомо, мінімальна одиниця виміру інформації становить 1 біт. Як ми вже з'ясували, уявлення чисел в комп'ютері відбувається в двійковому форматі. Таким чином, кожен біт пам'яті буде зайнятий одним значенням - 1 або 0.

Для збереження використовуються комірки. Кожна така одиниця містить до 8 біт інформації. Тому можна зробити висновок, що мінімальне значення в кожному відрізку пам'яті може становити 1 байт або бути восьмизначним двійковим числом.

Цілі

Нарешті ми підібралися до безпосереднього розміщення даних в комп'ютері. Як було вже сказано, насамперед процесор переводить інформацію в двійковий формат, а тільки потім розміщує в пам'яті.

Почнемо ми з самого простого варіанту, яким є уявлення цілих чисел в комп'ютері. Пам'ять ПК відводить під цей процес до смішного мала кількість осередків - всього одну. Таким чином, максимум в одному слоті можуть бути значення від 0 до 11111111. Давайте переведемо максимальне число в звичну нам форму записи.
Х \u003d 1 × 2 7 +1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 3 +1 × 2 2 + 1 × 2 1 + 1 × 2 0 \u003d 1 × 2 8 - 1 \u003d 255 .

Тепер ми бачимо, що в одній комірці пам'яті може розташовуватися значення від 0 до 255. Однак це відноситься виключно до цілим невід'ємним числах. Якщо ж комп'ютера знадобиться записати від'ємне значення, все мине небагато по-іншому.

Негативні числа

Тепер давайте подивимося, як відбувається уявлення чисел в комп'ютері, якщо вони є негативними. Для розміщення значення, яке менше нуля, відводиться два відділення пам'яті, або 16 біт інформації. При цьому 15 йдуть під саме число, а перший (крайній лівий) біт віддається під відповідний знак.

Якщо цифра негативна, то записується "1", якщо позитивна, то "0". Для простоти запам'ятовування можна провести таку аналогію: якщо знак є, то ставимо 1, якщо його немає, то нічого (0).

Решта 15 біт інформації відводяться під число. Аналогічно попередньому випадку, в них можна помістити максимум п'ятнадцять одиниць. Варто відзначити, що запис негативних і позитивних чисел істотно відрізняється друг від друга.

Для того щоб розмістити в 2 осередках пам'яті значення більше нуля або дорівнює йому, використовується так званий прямий код. Дана операція проводиться так само, як і було описано, а максимальне А \u003d 32766, якщо використовувати Відразу хочеться відзначити, що в даному випадку "0" відноситься до позитивних.

приклади

Подання цілих чисел в пам'яті комп'ютера не є такою вже важким завданням. Хоча вона трохи ускладнюється, якщо мова йде про негативному значенні. Для запису числа, яке менше нуля, використовується додатковий код.

Щоб його отримати, машина виробляє ряд допоміжних операцій.

  1. Спочатку записується модуль негативного числа в двійковому численні. Тобто комп'ютер запам'ятовує аналогічне, але позитивне значення.
  2. Потім проводиться інвертування кожного біта пам'яті. Для цього всі одиниці замінюються нулями і навпаки.
  3. Додаємо "1" до отриманого результату. Це і буде додатковий код.

Наведемо наочний приклад. Нехай у нас є число Х \u003d - 131. Спочатку отримуємо його модуль | Х | \u003d 131. Потім переводимо в двійкову систему і записуємо в 16 осередків. Отримаємо Х \u003d 0000000010000011. Після інвертування Х \u003d 1111111101111100. Додаємо до нього "1" і отримуємо зворотний код Х \u003d 1111111101111101. Для запису в 16-бітну осередок пам'яті мінімальним числом є Х \u003d - (2 15) \u003d - 32767.

довгі цілі

Як бачите, уявлення дійсних чисел в комп'ютері не так вже й складно. Однак розглянутого діапазону може не вистачати для більшості операцій. Тому, для того щоб розмістити великі числа, комп'ютер виділяє з пам'яті 4 осередки, або 32 біта.

Процес запису абсолютно не відрізняється від представленого вище. Так що ми просто приведемо діапазон чисел, які можуть зберігатися в даному типі.

Х мах \u003d 2 147 483 647.

Х min \u003d - 2 147 483 648.

Даних значень в більшості випадків досить для того, щоб записувати і проводити операції з даними.

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

плаваюча кома

Це останнє, що вам необхідно знати про подання чисел в комп'ютері. Оскільки під час запису дробів виникає проблема визначення положення коми в них, для розміщення подібних цифр в комп'ютері використовується Експоненціальна форма.

Будь-яке число може бути представлено в наступній формі Х \u003d m * р п. Де m - це мантиса числа, р - основа системи числення і п - порядок числа.

Для стандартизації записи чисел з плаваючою комою використовується така умова, згідно з яким модуль мантиси повинен бути більше або дорівнює 1 / п і менше 1.

Нехай нам дано число 666,66. Наведемо його до експоненційної формі. Вийде Х \u003d 0,66666 * 10 3. Р \u003d 10 і п \u003d 3.

На зберігання значень з плаваючою комою зазвичай виділяється 4 або 8 байт (32 або 64 біта). У першому випадку це називається числом звичайної точності, а в другому - подвійний точності.

З 4 байт, виділених під зберігання цифр, 1 (8 розрядів) віддається під дані про порядок та його знаку, а 3 байта (24 розряду) йдуть на зберігання мантиси і її знака за тими ж принципами, що і для цілочисельних значень. Знаючи це, ми можемо провести нехитрі розрахунки.

Максимальне значення п \u003d 1111111 2 \u003d 127 10. Виходячи з нього, ми можемо отримати максимальний розмір числа, яке може зберігатися в пам'яті комп'ютера. Х \u003d 2 127. Тепер ми можемо обчислити максимально можливу мантиссу. Вона буде дорівнює 2 23 - 1 ≥ 2 23 \u003d 2 (10 × 2,3) ≥ 1000 2,3 \u003d 10 (3 × 2,3) ≥ 10 7. У підсумку, ми отримали наближене значення.

Якщо тепер ми об'єднаємо обидва розрахунки, то отримаємо значення, яке може бути записано без втрат в 4 байта пам'яті. Воно дорівнюватиме Х \u003d 1,701411 * 10 38. Інші цифри були відкинуті, оскільки саме таку точність дозволяє мати даний спосіб запису.

подвійна точність

Оскільки всі обчислення були розписані і пояснені в попередньому пункті, тут ми розповімо все дуже коротко. Для чисел з подвійною точністю зазвичай виділяється 11 розрядів для порядку і його знака, а також 53 розряду для мантиси.

П \u003d 1111111111 2 \u003d 1 023 10.

М \u003d 2 52 -1 \u003d 2 (10 * 5.2) \u003d 1000 5.2 \u003d 10 15.6. Округляємо в більшу сторону і отримуємо максимальне число Х \u003d 2 1023 з точністю до "м".

Сподіваємося, інформація про подання цілих і дійсних чисел в комп'ютері, яку ми надали, стане в нагоді вам в навчанні і буде хоч трохи зрозуміліше, ніж те, що зазвичай пишуть в підручниках.

| Планування уроків на навчальний рік (ФГОС) | § 1.2. Подання чисел в комп'ютері

Уроки 6 - 7
§ 1.2. Подання чисел в комп'ютері

Ключові слова:

розряд
беззнаковое уявлення цілих чисел
уявлення цілих чисел зі знаком
уявлення дійсних чисел

1.2.1. Подання цілих чисел

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

Рис. 1.2. осередок пам'яті

Для комп'ютерного представлення цілих чисел використовується кілька різних способів, що відрізняються один від одного кількістю розрядів (під цілі числа зазвичай відводиться 8, 16, 32 або 64 розряди) і наявністю або відсутністю знакового розряду. Беззнаковое уявлення можна використовувати тільки для невід'ємних цілих чисел, негативні числа представляються тільки в знаковому вигляді.

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

Максимальне значення цілого невід'ємного числа досягається в разі, коли у всіх розрядах осередку зберігаються одиниці. Для n-розрядного уявлення воно буде дорівнює 2 n -1. Мінімальна кількість відповідає п нулях, що зберігаються в n розрядах пам'яті, і дорівнює нулю.

Нижче наведені максимальні значення для беззнакових цілих n-розрядних чисел:

Для отримання комп'ютерного представлення беззнакового цілого числа досить перевести число в двійкову систему числення і доповнити отриманий результат зліва нулями до стандартної розрядності.

приклад 1. Число 53 10 \u003d 110101 2 в восьмирозрядному поданні має вигляд:

Це ж число 53 в шістнадцяти розрядах буде записано наступним чином:

При поданні зі знаком найстарший (лівий) розряд відводиться під знак числа, інші розряди - під саме число. Якщо число позитивне, то в знаковий розряд поміщається 0, якщо число негативне - 1. Таке уявлення чисел називається прямим кодом.

У комп'ютері прямі коди використовуються для зберігання позитивних чисел в запам'ятовуючих пристроях, для виконання операцій з позитивними числами.

На сайті Федерального центру інформаційно-освітніх ресурсів (http://fcior.edu.ru/) розміщений інформаційний модуль «Число і його комп'ютерний код». За допомогою цього ресурсу ви можете отримати додаткову інформацію з досліджуваної теми.

Для виконання операцій з негативними числами використовується додатковий код, що дозволяє замінити операцію віднімання додаванням. Дізнатися алгоритм освіти додаткового коду ви можете за допомогою інформаційного модуля «Додатковий код», розміщеного на сайті Федерального центру інформаційно-освітніх ресурсів (http://fcior.edu.ru/).

1.2.2. Подання дійсних чисел

Будь-яке дійсне число А може бути записано в експоненційної формі:

де:

m - мантиса числа;

p - порядок числа.

Наприклад, число 472 ТОВ ТОВ може бути представлено так: 4,72 10 8, 47,2 10 7, 472,0 10 6 і т. Д.

З експоненційної формою записи чисел ви могли зустрічатися при виконанні обчислень за допомогою калькулятора, коли в якості відповіді отримували записи такого вигляду: 4.72Е + 8.

Тут знак «Е» позначає підстава десяткової системи числення і читається як «помножити на десять в ступені».

З наведеного вище прикладу видно, що положення коми в запису числа може змінюватися.

Для однаковості мантиссу зазвичай записують як правильну дріб, що має після коми цифру, відмінну від нуля. У цьому випадку число 472 ТОВ ТОВ буде представлено як 0,472 10 9.

Дійсне число може займати в пам'яті комп'ютера 32 або 64 розряди. При цьому виділяються розряди для зберігання знака мантиси, знака порядку, порядку і мантиси.

приклад:

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

Максимальне значення порядку числа для наведеного вище прикладу становить 1111111 2 \u003d 127 10, і, отже, максимальне значення числа:

0,11111111111111111111111 10 1111111

Спробуйте самостійно з'ясувати, який десятковий еквівалент цієї величини.

Широкий діапазон подання дійсних чисел важливий для вирішення наукових і інженерних задач. Разом з тим слід розуміти, що алгоритми обробки таких чисел більш трудомісткі в порівнянні з алгоритмами обробки цілих чисел.

НАЙГОЛОВНІШЕ

Для комп'ютерного представлення цілих чисел використовуються кілька різних способів, що відрізняються один від одного кількістю розрядів (8, 16, 32 або 64) і наявністю або відсутністю знакового розряду.

Для уявлення беззнакового цілого числа його слід перевести в двійкову систему числення і доповнити отриманий результат зліва нулями до стандартної розрядності.

При поданні зі знаком найстарший розряд відводиться під знак числа, інші розряди - під саме число. Білі число позитивне, то в знаковий розряд поміщається 0, якщо число негативне, то 1. Позитивні числа зберігаються в комп'ютері в прямому коді, негативні - в додатковому.

При зберіганні в комп'ютері дійсних чисел виділяються розряди на зберігання знака порядку числа, самого порядку, знака мантиси і мантиси. При цьому будь-яке число записується так:

де:

m - мантиса числа;
q - основа системи числення;
p - порядок числа.

Запитання і завдання

1. Ознайомтеся з матеріалами презентації до параграфу, що міститься в електронному додатку до підручника. Використовуйте ці матеріали при підготовці відповідей на питання і виконанні завдань.

2. Як в пам'яті комп'ютера представлені цілі позитивні і негативні числа?

3. Будь-яке ціле число можна розглядати як речовий, але з нульовою дробовою частиною. Обгрунтуйте доцільність наявності особливих способів комп'ютерного представлення цілих чисел.

4. Уявіть число 63 10 в беззнакову 8-розрядному форматі.

5. Знайдіть десяткові еквіваленти чисел по їх прямим кодами, записаним в 8-розрядному форматі зі знаком:

а) 01001100;
б) 00010101.

6. Які з чисел 443 8, 101010 2, 256 10 можна зберегти в 8-розрядному форматі?

7. Запишіть наступні числа в природній формі:

а) 0,3800456 10 2,
б) 0,245 10 -3;
в) 1,256900Е + 5;
г) 9,569120Е-3.

8. Запишіть число 2010,0102 10 п'ятьма різними способами в експоненційної формі.

9. Запишіть наступні числа в експоненційної формі з нормалізованої мантиси - правильної дробом, що має після коми цифру, відмінну від нуля:

а) 217,934 10;
б) 75321 10;
в) 0,00101 10.

10. Зобразіть схему, яка б пов'язала основні поняття, розглянуті в цьому параграфі.

Речові числа в математичних обчисленнях не мають обмежень на діапазон і точність представлення чисел. Однак в комп'ютерах числа зберігаються в регістрах і комірках пам'яті з обмеженою кількістю розрядів. Тому точність уявлення дійсних чисел,представимо в машині, є кінцевою, а діапазон обмежений.

При написанні дійсних чисел в програмах замість звичної коми прийнято ставити крапку. Будь-яке дійсне число можна представити у формі запису чисел з порядком основи системи числення.

Приклад 4.4. Десяткове число 1.756 в формі запису чисел з порядком заснування системи числення можна представити так:

1.756 . 10 0 = 0.1756 . 10 1 = 0.01756 . 10 2 = ...

17.56 . 10 -1 = 175.6 . 10 -2 = 1756.0 . 10 -3 = ... .

Поданням числа з плаваючою точкою називається уявлення числа N в системі числення з основою q у вигляді :

N \u003d m *. q p ,

де m - множник, що містить всі цифри числа (мантиса), p - ціле число, зване порядком.

Якщо "плаваюча" точка розташована в мантисі перед першою значущою цифрою, то при фіксованій кількості розрядів, відведених під мантиссу, забезпечується запис максимальної кількості значущих цифр числа, тобто максимальна точність представлення числа в машині.

Якщо в мантисі перша цифра після крапки (коми) відмінна від нуля, то таке число називається нормалізованим .

Мантиссу і порядок q -ічного числа прийнято записувати в системі з основою q , А сама підстава - в десятковій системі.

Приклад 4.5. Наведемо приклади нормалізованого представлення числа в десятковій системі:

2178.01 =0.217801 * 10 4

0.0045 =0.45 * 10 -2

Приклади в двійковій системі:

10110.01 \u003d 0.1011001 * 2 101 (порядок 101 2 \u003d 5 10)

Сучасними комп'ютерами підтримуються кілька міжнародних стандартних форматів зберігання дійсних чисел з плаваючою точкою, що розрізняються по точності, але всі вони мають однакову структуру. Дійсне число зберігається в трьох частинах: знак мантиси, зміщений порядок і мантиса:

усунутий порядок n-розрядним нормалізованого числа обчислюється таким чином: якщо для завдання порядку виділено k розрядів, то до істинного значення порядку, представленого в додатковому коді, додають зсув, рівне (2 k -1 -1).

Таким чином, порядок, який приймає значення в діапазоні від -128 до +127, перетворюється в зміщений порядок в діапазоні від 0 до 255. Усунутий порядок зберігається у вигляді беззнакового числа, що спрощує операції порівняння, додавання і віднімання порядків, а також спрощує операцію порівняння самих нормалізованих чисел.

Кількість розрядів, що відводяться під порядок, впливає на діапазон від найменшого відмінного від нуля числа до найбільшого числа, представимо в машині при заданому форматі. Очевидно, що чим більше розрядів відводиться під запис мантиси, тим вище точність представлення числа. У зв'язку з тим, що у нормалізованих дійсних чисел старший біт мантиси завжди дорівнює 1, цей старший біт не зберігається в пам'яті.

Будь-яке двійкове ціле число, що містить не більше m розрядів, може бути без спотворень перетворено в речовинний формат.

Таблиця 4.3. Стандартні формати подання дійсних чисел

Приклад 4.6.Подання нормалізованих чисел в одинарному форматі.

Проілюструємо, як буде зберігатися число 37,16 10. При перекладі в двійкове число не виходить точного перекладу 100101, (00101000111101011100) - дрібна частина, укладена в дужках, повторюється в періоді.

Переводимо кількість в нормалізований вид: 0,100101 (00101000111101011100) * 2 110

Уявімо дійсне число в 32-розрядному форматі:

1. Знак числа «+», тому в знаковий розряд (31) заносимо 0;

2. Для завдання порядку виділено 8 розрядів, до істинного значення порядку, представленого в додатковому коді, додаємо зсув (2 7 -1) \u003d 127. Так як порядок позитивний, то прямий код порядку збігається з додатковим, обчислимо зміщений порядок: 00000110 + 01111111 \u003d 10000101

Заносимо отриманий зміщений порядок.

3. Заносимо мантиссу, при цьому старший розряд мантиси прибираємо (він завжди дорівнює 1);

зміщений порядок

мантиса

В даному прикладі ми змогли перенести тільки 24 розряду, інші були загублені з втратою точності подання числа.

призначення сервісу. Онлайн-калькулятор призначений для подання дійсних чисел у формат з плаваючою точкою.

Правила введення чисел

  1. Числа в десятковій системі числення можуть вводитися як без дробової, так і з дробової частиною (234234.455).
  2. Числа в двійковій системі числення складаються тільки з цифр 0 і 1 (10100.01).
  3. Числа в шістнадцятковій системі числення складаються з цифр 0 ... 9 і букв A ... F.
  4. Можна також отримувати зворотний уявлення коду (з шістнадцятковій системи числення в десяткову, 40B00000)
Приклад №1. Уявити число 133,54 в формі числа з плаваючою крапкою.
Рішення. Уявімо число 133.54 в нормалізованому експоненційному вигляді:
1.3354 * 10 2 \u003d 1.3354 * exp 10 2
Число 1.3354 * exp 10 2 складається з двох частин: мантиси M \u003d 1.3354 і експоненти exp 10 \u003d 2
Якщо мантиса знаходиться в діапазоні 1 ≤ M Подання числа в денормалізованном експоненційному вигляді.
Якщо мантиса знаходиться в діапазоні 0,1 ≤ M Уявімо число в денормалізованном експоненційному вигляді: 0.13354 * exp 10 3

Приклад №2. Уявити двійкове число 101.10 2 в нормалізованому вигляді, записати в 32-бітом стандарті IEEE754.
Рішення.
Подання двійкового числа з плаваючою точкою в експоненційному нормалізованому вигляді.
Зрушимо число на 2 розрядів вправо. В результаті ми отримали основні складові експоненціального нормалізованого двійкового числа:
Мантиса M \u003d 1.011
Експонента exp 2 \u003d 2
Перетворення двійкового нормалізованого числа в 32 бітний формат IEEE 754.
Перший біт відводиться для позначення знака числа. Оскільки число позитивне, то перший біт дорівнює 0
Наступні 8 біт (з 2-го по 9-й) відведено під експоненту.
Для визначення знака експоненти, щоб не вводити ще один біт знака, додають зсув до експоненті в половину байта +127. Таким чином, наша експонента: 2 + 127 \u003d 129
Переведемо експоненту в двійкове подання.
Решта 23 біта відводять для мантиси. У нормалізованої двійковій мантиси перший біт завжди дорівнює 1, так як число лежить в діапазоні 1 ≤ M Для переведення цілої частини необхідно помножити розряд числа на відповідну йому ступінь розряду.
01100000000000000000000 = 2 22 *0 + 2 21 *1 + 2 20 *1 + 2 19 *0 + 2 18 *0 + 2 17 *0 + 2 16 *0 + 2 15 *0 + 2 14 *0 + 2 13 *0 + 2 12 *0 + 2 11 *0 + 2 10 *0 + 2 9 *0 + 2 8 *0 + 2 7 *0 + 2 6 *0 + 2 5 *0 + 2 4 *0 + 2 3 *0 + 2 2 *0 + 2 1 *0 + 2 0 *0 = 0 + 2097152 + 1048576 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 = 3145728
У десятковому коді мантиса виражається числом 3145728
В результаті число 101.10 представлене в IEEE 754 c одинарної точністю одно.
Переведемо в шістнадцяткове подання.
Розділимо вихідний код на групи по 4 розряду.
2 = 0100 0000 1011 0000 0000 0000 0000 0000 2
Отримуємо число:
0100 0000 1011 0000 0000 0000 0000 0000 2 \u003d 40B00000 16