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