Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Двійкове кодування даних.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
530.84 Кб
Скачать

8.1. Запис цілих чисел у пам’яті у формі з фіксованою точкою

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

    • коротке ціле без знака (КЦбЗ);

    • коротке ціле із знаком (КЦізЗ);

    • ціле без знака (ЦбЗ);

    • ціле із знаком (ЦізЗ);

    • довге ціле без знака (ДЦбЗ);

    • довге ціле із знаком (ДЦізЗ).

У будь-якому форматі додатні числа записуються в прямому коді, а від’ємні – у доповняльному коді.

Для побудови прямого коду числа необхідно.

  1. Перевести 10-число у 2-число.

  2. Двійкове число доповнити незначущими нулями до 8 розрядів у форматах КЦбЗ і КЦізЗ , до 16 розрядів у форматах ЦбЗ і ЦізЗ , до 32 розрядів у форматах ДЦбЗ і ДЦізЗ.

Приклад 1 Побудувати прямий код числа 83 у всіх класичних форматах.

Розв’язання.

;

  1. Прямий код:

  • у форматах КЦбЗ і КЦізЗ: = ;

  •  у форматах ЦбЗ і ЦізЗ:

              • = ;

  • у форматах ДЦбЗ і ДЦізЗ: =

.

Для побудови доповняльного коду від’ємного числа необхідно.

  1. Знайти прямий код абсолютної величини числа (у 2-системі або, що зручніше, у 16-системі числення).

  2. У 2-системі числення в прямому коді кожен 0 замінити на 1 і, навпаки, кожну 1 замінити на 0 – у результаті одержимо інверсний код . У 16-системі числення в прямому коді необхідно виконати заміни

, , , , , , , ,

, , , , , , ,

(сума пар чисел стала і дорівнює ).

  1. До інверсного коду додати 1.

Приклад 2. Побудувати доповняльний код числа у класичних форматах.

Розв’язання.

.

  1. Прямий код:

 – у форматі КЦізЗ:

;

 – у форматі ЦізЗ:

;

 – у форматі ДЦізЗ:

.

  1. Інверсний код:

 – у форматі КЦізЗ:

;

 – у форматі ЦізЗ:

;

– у форматі ДЦізЗ:

.

  1. Доповняльний код:

 – у форматі КЦізЗ:

;

 – у форматі ЦізЗ:

;

  • у форматі ДЦізЗ:

.

Вправа 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, тому це число від’ємне в доповняльному коді:

.

В підсумку:

.

Формат ДЦбЗ . Код числа

У пам’яті комп’ютера код записується так само, як у форматі ДЦізЗ.

Код максимального числа , відповідне йому число  .

Код мінімального , відповідне йому число .

Отже, діапазон допустимих чисел у форматі ДЦбЗ .