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

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

А = 1 × 2 7 + 1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 1 × 2 0 = 1 × 2 8 - 1 = 255 10 .

Діапазон зміни цілих невід'ємних чиселчисел: від 0 до 255.

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

Подання у комп'ютері позитивних чисел з використанням формату "знак-величина" називається прямим кодомчисла. Наприклад, число 2002 10 = 11111010010 2 буде представлено у 16-розрядному поданні наступним чином:

0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0

Максимальне позитивне число (з урахуванням виділення одного розряду на знак) для цілих чисел зі знаком у n-розрядному поданні дорівнює:

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

Додатковий код негативного числа А, що зберігається в n осередках, дорівнює 2 n - | A |.

Додатковий код є доповненням модуля негативного числа А до 0, тому що в n-розрядній комп'ютерній арифметиці:

2 n - | + | А | = 0,

оскільки в комп'ютерній n-розрядній арифметиці 2 n = 0. Дійсно, двійковий запис такого числа складається з однієї одиниці і n нулів, а в n-розрядний осередок може вміститися лише n молодших розрядів, тобто n нулів.

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

1. Модуль числа записати прямому кодіу n двійкових розрядах.

2. Отримати зворотний кодчисла для цього значення всіх бітів інвертувати (всі одиниці замінити на нулі і всі нулі замінити на одиниці).

3. До отриманого зворотного коду додати одиницю.

Запишемо додатковий код негативного числа -2002 для 16-розрядного комп'ютерного представлення:


При n-розрядному поданні негативного числа А додатковому коді старший розряд виділяється для зберігання знака числа (одиниці). В інших розрядах записується позитивне число

Щоб число було позитивним, має виконуватися умова

|А| £ 2 n-1.

Отже, максимальне значення модуля числа А в га-розрядному поданні дорівнює:

Тоді мінімальне негативне число дорівнює:

Визначимо діапазон чисел, які можуть зберігатися в оперативній пам'яті у форматі довгих цілих чисел зі знаком(Для зберігання таких чисел відводиться чотири осередки пам'яті - 32 біти).

Максимальне позитивне ціле число (з урахуванням виділення одного розряду на знак) дорівнює:

А = 2 31 - 1 = 2 147483647 10 .

Мінімальне негативне ціле число дорівнює:

А = -2 31 = - 2147483648 10 .

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

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

Подання чисел у форматі з плаваючою комою.Речові числа зберігаються та обробляються у комп'ютері у форматі з плаваючою комою. У цьому випадку положення коми запису числа може змінюватися.

Формат чисел з плаваючою комоюбазується на експоненційній формі запису, в якій може бути представлене будь-яке число. Так число А може бути подане у вигляді:

A = m × q n 2.3

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

Для одноманітності уявлення чисел з плаваючою комоювикористовується нормалізована форма, за якої мантиса відповідає умові:

1/n £ |m|

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

Перетворимо десяткове число 555,55, записане в природній формі, в експоненційну форму з нормалізованою мантисою:

555,55 = 0,55555 × 103.

Тут нормалізована мантиса: m = 0,55555; порядок: n = 3.

Число у форматі з плаваючою комою займає у пам'яті комп'ютера 4 ( число звичайної точності) або 8 байтів ( число подвійної точності). При записі числа з плаваючою комою виділяються розряди зберігання знака мантиси, знака порядку, порядку і мантиси.

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

Визначимо максимальне число та його точність для формату чисел звичайної точностіякщо для зберігання порядку та його знака відводиться 8 розрядів, а для зберігання мантиси та її знака - 24 розряди:

0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
знак та порядок знак і мантіса

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

2 127 = 1,7014118346046923173168730371588 × 10 38 .

Максимальне значення позитивної мантиси дорівнює:

2 23 - 1 » 2 23 = 2 (10 × 2,3) » 1000 2,3 = 10 (3 × 2,3) » 10 7 .

Таким чином, максимальне значення чисел звичайної точностіз урахуванням можливої ​​точності обчислень складе 1,701411 × 10 38 (кількість значущих цифр десяткового числа в даному випадку обмежена 7 розрядами).

Завдання

1.26. Заповнити таблицю, записавши негативні десяткові числа у прямому, зворотному та додатковому кодах у 16-розрядному поданні:

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

1.28. Визначити максимальну кількість та її точність для формату чисел подвійної точностіякщо для зберігання порядку та його знака відводиться 11 розрядів, а для зберігання мантиси та її знака - 53 розряди.

| Планування уроків на навчальний рік (ФГОС) | § 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 = 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 = 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. Зобразіть схему, яка пов'язує основні поняття, розглянуті в цьому параграфі.

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

Цілі числа зберігаються у пам'яті у форматі з фіксованою комою. При такому форматі представлення чисел для зберігання цілих невід'ємних чисел відводиться регістр пам'яті, що складається з восьми осередків пам'яті (8 біт). Кожному розряду комірки пам'яті відповідає завжди той самий розряд числа, а кома знаходиться праворуч після молодшого розряду і поза розрядною сіткою. Наприклад, число 110011012 буде зберігатися в регістрі пам'яті так:

Таблиця 4

Максимальне значення цілого невід'ємного числа, яке може зберігатися в регістрі у форматі з фіксованою комою, можна визначити з формули: 2n - 1 де n - число розрядів числа. Максимальне число при цьому дорівнюватиме 28 – 1 = 25510 = 111111112 і мінімальне 010 = 000000002. Таким чином, діапазон зміни цілих невід'ємних чисел перебуватиме в межах від 0 до 25510.

На відміну від десяткової системи у двійковій системі числення при комп'ютерному поданні двійкового числа відсутні символи, що позначають знак числа: позитивний (+) або негативний (-), тому для представлення цілих чисел зі знаком у двійковій системі використовуються два формати представлення числа: формат значення числа зі знаком та формат додаткового коду. У першому випадку для зберігання цілих чисел зі знаком відводиться два регістри пам'яті (16 біт), причому старший розряд (крайній ліворуч) використовується під знак числа: якщо число позитивне, то знаковий розряд записується 0, якщо число негативне, то - 1. Наприклад , Число 53610 = 00000010000110002 буде представлено в регістрах пам'яті в наступному вигляді:

Таблиця 5

а від'ємне число -53610 = 10000010000110002 у вигляді:

Таблиця 6

Максимальне позитивне число або мінімальне від'ємне у форматі значення числа зі знаком (з урахуванням представлення одного розряду під знак) дорівнює 2n-1 – 1 = 216-1 – 1 = 215 – 1 = 3276710 = 1111111111111112 і діапазон чисел перебуватиме в межах 3276710 до 32767.

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

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


1) модуль числа записати прямим кодом у n (n = 16) двійкових розрядах;

2) отримати зворотний код числа (інвертувати всі розряди числа, тобто всі одиниці замінити на нулі, а нулі – на одиниці);

3) до отриманого зворотного коду додати одиницю молодшого розряду.

Наприклад, для числа -53610 у такому форматі модуль дорівнюватиме 00000010000110002, зворотний код – 1111110111100111, а додатковий код – 1111110111101000.

Необхідно пам'ятати, що додатковий код позитивного числа – саме число.

Для зберігання цілих чисел зі знаком крім 16-розрядного комп'ютерного уявлення, коли використовуються два регістри пам'яті(Такий формат числа називається також форматом коротких цілих чисел зі знаком), застосовуються формати середніх і довгих цілих чисел зі знаком. Для представлення чисел у форматі середніх чисел використовується чотири регістри (4 х 8 = 32 біт), а представлення чисел у форматі довгих чисел – вісім регістрів (8 х 8 = 64 біта). Діапазони значень для формату середніх та довгих чисел будуть відповідно рівними: -(231 – 1) … + 231 – 1 та -(263-1) … + 263 – 1.

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

Речові числа (кінцеві та нескінченні десяткові дроби) обробляються та зберігаються у комп'ютері у форматі з плаваючою комою. При такому форматі представлення числа положення коми запису може змінюватися. Будь-яке речове число К у форматі з плаваючою комою може бути представлене у вигляді:

де А - мантіса числа; h – основа системи числення; p – порядок числа.

Вираз (2.7) для десяткової системи числення набуде вигляду:

для двійкової -

для вісімкової -

для шістнадцяткової -

Така форма представлення числа також називається нормальною . Зі зміною порядку кома в числі зміщується, тобто як би плаває вліво або вправо. Тому нормальну форму представлення чисел називають формою з плаваючою комою. Десяткове число 15,5, наприклад, у форматі з плаваючою комою може бути представлене у вигляді: 0,155 · 102; 1,55 · 101; 15,5 · 100; 155,0 · 10-1; 1550,0 · 10-2 і т. д. Ця форма запису десяткового числа 15,5 з плаваючою комою не використовується при написанні комп'ютерних програм і введення їх у комп'ютер (пристрої введення комп'ютерів сприймають лише лінійний запис даних). Виходячи з цього вираз (2.7) для представлення десяткових чисел і введення їх у комп'ютер перетворюють на вигляд

де Р - порядок числа,

тобто замість основи системи числення 10 пишуть літеру Е, замість коми - точку, і знак множення не ставиться. Таким чином, число 15,5 у форматі з плаваючою комою та лінійного запису (комп'ютерне подання) буде записано у вигляді: 0.155Е2; 1.55Е1; 15.5Е0; 155.0Е-1; 1550.0Е-2 і т.д.

Незалежно від системи числення будь-яке число у формі з плаваючою комою може бути представлене безліччю чисел. Така форма запису називається ненормалізованою . Для однозначного представлення чисел з плаваючою комою використовують нормалізовану форму запису числа, за якої мантиса числа має відповідати умові

де |А| - Абсолютне значення мантиси числа.

Умова (2.9) означає, що мантіса повинна бути правильним дробом і мати після коми цифру, відмінну від нуля, або, якщо після коми в мантисі стоїть не нуль, то число називається нормалізованим. Так, число 15,5 у нормалізованому вигляді (нормалізована мантиса) у формі з плаваючою комою буде виглядати наступним чином: 0,155 · 102, тобто нормалізована мантиса буде A = 0,155 і порядок Р = 2, або у комп'ютерному поданні числа 0.155Е2 .

Числа у формі з плаваючою комою мають фіксований формат і займають у пам'яті комп'ютера чотири (32 біти) або вісім байт (64 біти). Якщо число займає у пам'яті комп'ютера 32 розряду, це число звичайної точності, якщо 64 розряду, це число подвійний точності. При записі числа з плаваючою комою виділяються розряди зберігання знака мантиси, знака порядку, мантиси і порядку. Кількість розрядів, що відводиться під порядок числа, визначає діапазон зміни чисел, а кількість розрядів, що відведені для зберігання мантиси, – точність, з якою задається число.

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

1) проводиться вирівнювання порядків чисел, над якими здійснюються арифметичні операції (порядок меншого за модулем числа збільшується до величини порядку більшого за модулем числа, мантиса при цьому зменшується в таку ж кількість разів);

2) виконуються арифметичні операції над мантисами чисел;

3) провадиться нормалізація отриманого результату.

Практична частина

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

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

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

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

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

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

Пам'ять

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

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

Цілі

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

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

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

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

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

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

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

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

Приклади

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

Щоб його отримати, машина робить низку допоміжних операцій.

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

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

Довгі цілі

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

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

Х мах = 2147483647.

Х min = - 2147483648.

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

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

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

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

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

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

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

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

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

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

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

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

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

П = 1111111111 2 = 1023 10 .

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

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

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

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

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

Приклад №2. Подати двійкове число 101.10 2 в нормалізованому вигляді, записати в 32-бітному стандарті IEEE754.
Рішення.
Подання двійкового числа з плаваючою точкою в експоненційному нормалізованому вигляді.
Зрушимо число на 2 розряди вправо. В результаті ми отримали основні складові експонентного нормалізованого двійкового числа:
Мантіса M=1.011
Експонента exp 2 =2
Перетворення двійкового нормалізованого числа на 32 бітний формат IEEE 754.
Перший біт відводиться позначення знака числа. Оскільки число позитивне, то перший біт дорівнює 0
Наступні 8 біт (з 2-го до 9-ї) відведені під експоненту.
Для визначення знака експоненти, щоб не вводити ще один біт знака, додають зсув до експоненти половину байта +127. Таким чином, наша експонента: 2 + 127 = 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 з одинарною точністю дорівнює.
Перекладемо в шістнадцяткову виставу.
Розділимо вихідний код на групи по 4 розряди.
2 = 0100 0000 1011 0000 0000 0000 0000 0000 2
Отримуємо число:
0100 0000 1011 0000 0000 0000 0000 0000 2 = 40B00000 16