Читайте также:
|
|
Для запису цілих чисел у пам'яті комп'ютера застосовується форма запису із фіксованою точкою. Можливі різні формати запису цілих чисел у пам'яті комп'ютера. Ці формати підтримуються програмним шляхом, але класичними є такі:
· коротке ціле без знака (КЦбЗ);
· коротке ціле із знаком (КЦізЗ);
· ціле без знака (ЦбЗ);
· ціле із знаком (ЦізЗ);
· довге ціле без знака (ДЦбЗ);
· довге ціле із знаком (ДЦізЗ).
У будь-якому форматі додатні числа записуються в прямому коді, а від’ємні – у доповняльному коді.
Для побудови прямого коду числа необхідно.
Приклад 1 Побудувати прямий код числа 83 у всіх класичних форматах.
Розв’язання.
;
1. Прямий код:
· у форматах КЦбЗ і КЦізЗ: = ;
· у форматах ЦбЗ і ЦізЗ:
· = ;
· у форматах ДЦбЗ і ДЦізЗ: =
.
Для побудови доповняльного коду від’ємного числа необхідно.
1. Знайти прямий код абсолютної величини числа (у 2-системі або, що зручніше, у 16-системі числення).
2. У 2-системі числення в прямому коді кожен 0 замінити на 1 і, навпаки, кожну 1 замінити на 0 – у результаті одержимо інверсний код. У 16-системі числення в прямому коді необхідно виконати заміни
, , , , , , , ,
, , , , , , ,
(сума пар чисел стала і дорівнює ).
3. До інверсного коду додати 1.
Приклад 2. Побудувати доповняльний код числа у класичних форматах.
Розв’язання.
.
1. Прямий код:
– у форматі КЦізЗ:
;
– у форматі ЦізЗ:
;
– у форматі ДЦізЗ:
.
2. Інверсний код:
– у форматі КЦізЗ:
;
– у форматі ЦізЗ:
;
– у форматі ДЦізЗ:
.
3. Доповняльний код:
– у форматі КЦізЗ:
;
– у форматі ЦізЗ:
;
– у форматі ДЦізЗ:
.
Вправа 1. Записати заміни цифр числа для побудови інверсного коду в 10, 15-системах числення.
Алгоритм побудови доповняльного коду, який розглядався вище, можна сформулювати по-іншому, якщо застосувати операцію віднімання абсолютної величини цього числа від числа:
· для формату КЦізЗ;
· для формату ЦізЗ;
·
для формату ДЦізЗ.
Приклад 3. Для числа у 2-системі числення маємо:
– для формату КЦізЗ:
– для формату ЦізЗ:
– для формату ДЦізЗ:
У 16-системі числення:
– для формату КЦізЗ ;
– ;
– для формату ДЦізЗ:
,
що збігається з результатами прикладу 2.
Застосування доповняльного коду для від’ємних чисел дозволяє операцію віднімання звести до операції додавання.
Приклад 4. Операцію віднімання чисел можна замінити додаванням числа і доповняльного коду до числа без урахування останньої одиниці перенесення:
.
На технічному рівні це дає змогу виконувати операції додавання і віднімання чисел за допомогою одного спеціального пристрою – суматора.
Розглянемо запис чисел у класичних форматах і знайдемо діапазони чисел, які можна записати у цих форматах.
Формат КЦізЗ. Код числа в цьому форматі має вигляд
,
де – знаковий біт.
За значенням цього біта можна встановити знак записаного числа. Якщо в знаковому біті записаний 0, то в байті записане додатне число в прямому коді, 1 – від’ємне число в доповняльному коді (розряди ).
У пам’яті комп’ютера код записується так:
Приклад 5. В одному байті записано і відомо, що це ціле число у форматі КЦізЗ. Яке саме число записане в байті?
Розв’язання. Цифра має двійковий код . Таким чином, у знаковому біті записана 1, а отже, число від’ємне в доповняльному коді. Для знаходження прямого коду абсолютної величини числа від віднімемо 1 і виконаємо інверсію: .
Такий самий результат одержимо, якщо доповняльний код віднімемо від :
,
Отже
,
.
Максимальне число, яке можна записати у форматі КЦізЗ має код . Відповідне десяткове число . Мінімальне число (в алгебричному розумінні) має доповняльний код . Відповідне йому від’ємне число .
Отже, діапазон цілих чисел, які можна записати у форматі КЦізЗ: .
Формат КЦбЗ. Код числа в цьому форматі має вигляд
,
в якому всі біти використовуються для запису числа в прямому коді.
У пам’яті комп’ютера код записується так само, як і у форматі КЦізЗ:
Код мінімального числа: , відповідне йому число дорівнює 0.
Код максимального числа: , відповідне йому число .
Отже, діапазон допустимих чисел у форматі КЦбЗ: .
Формат ЦізЗ. Код числа
,
де – знаковий біт; – розряди прямого або доповняльного коду числа.
У пам’яті комп’ютера код записується за принципом – старші розряди в старші байти:
Код мінімального числа , відповідне йому число дорівнює .
Код максимального числа , відповідне йому число дорівнює .
Отже, діапазон допустимих чисел у форматі ЦбЗ .
Приклад 6. У двох суміжних байтах пам'яті записано
AF |
Молодший байт |
Старший байт |
Відомо, що це ціле число у форматі ЦізЗ. Знайти це число.
Розв’язання. З умови випливає, що код числа має вигляд . , а це означає, що в знаковому біті записана 1, що, у свою чергу, визначає від’ємне число в доповняльному коді:
.
.
В підсумку:
AF |
Молодший байт |
Старший байт |
Приклад 7. У двох суміжних байтах пам'яті записано (16-система числення)
Відомо, що це ціле число у форматі ЦізЗ. Знайти це число.
Розв’язання. З умови випливає, що число додатне. Його прямий код . Відповідне 10-число .
В підсумку:
.
Формат ЦбЗ. Код числа
,
в якому всі біти використовуються для запису числа в прямому коді.
У пам’яті комп’ютера код записується так само, як і у форматі ЦізЗ.
Код мінімального числа , відповідне йому число – .
Код максимального числа , відповідне йому число – .
Отже, діапазон допустимих чисел у форматі ЦбЗ .
Приклад 8. Необхідно з’ясувати, як запишеться число 1034 в пам'яті комп'ютера у форматі ЦбЗ?
Розв’язання.
,
прямий код: .
У пам’яті комп’ютера код запишеться так:
0 A |
Формат ДЦізЗ. Код числа
,
– знаковий біт; – розряди прямого або доповняльного коду числа.
У пам’яті комп’ютера код записується за принципом: старші розряди в старші байти:
Код максимального числа , відповідне йому число .
Код мінімального числа , відповідне йому число дорівнює .
Отже, діапазон допустимих чисел у форматі ДЦізЗ .
Приклад 9. У чотирьох суміжних байтах пам'яті записано
FF | FF | FF | CF |
Відомо, що це ціле число у форматі ДЦізЗ. Знайти це число.
Розв’язання. З умови випливає, що прямий код числа має вигляд . У знаковому біті записана 1, тому це число від’ємне в доповняльному коді:
.
В підсумку:
.
Формат ДЦбЗ. Код числа
У пам’яті комп’ютера код записується так само, як у форматі ДЦізЗ.
Код максимального числа , відповідне йому число .
Код мінімального , відповідне йому число .
Отже, діапазон допустимих чисел у форматі ДЦбЗ .
Дата добавления: 2015-12-01; просмотров: 43 | Нарушение авторских прав