Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. I. Пояснительная записка
  2. Автором статьи использованы дневниковые записи и автобиографические заметки Анатолия Белова).
  3. Алфавит испанского языка, правила чтения, записи и произношения. Дифтонги и трифтонги. Правила постановки ударения.
  4. Аналитическая записка
  5. Аудиозапись песни “Журавлики”.
  6. Аудиозапись песни “Саманта”.
  7. Бухгалтерские записи по выбытию денежных средств с расчетного счета

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

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

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

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

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

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

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

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

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

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

Приклад 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 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.022 сек.)