Алгоритм отримання коду дійсного числа

1) Записати прямий код негативного числа в 16 довічних розрядах. Для цього модуль цілого негативного числа треба перевести в двійкову систему числення і доповнити отриманий результат зліва нулями до 16 бітів.

2) Записати зворотний код негативного числа в 16 довічних розрядах. Для цього значення всіх розрядів прямого коду інвертувати (всі нулі замінити на одиниці, а всі одиниці - на нулі).

3) Записати додатковий код негативного числа в 16 довічних розрядах. Для цього до зворотного коду, оскільки він розглядався як Шестнадцатіразрядное невід'ємне двійковечисло, додати одиницю.

Речові числа займають в пам'яті чотири байти (32 біти). Кожен з 32 бітів має певне призначення.

Алгоритм отримання коду дійсного числа

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

У загальному випадку в форматі з плаваючою точкою число представляється у вигляді добутку двох співмножників:

,

де m - мантиса числа;

P - основа системи числення;

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

Наприклад, число 5,14 може бути записано у вигляді 0,514 # 8729; 10 1 або 51,4 # 8729; 10 -1 і т. Д.

Уявімо алгоритм отримання трідцатідвухразрядного двійкового коду дійсного числа.

1. Переводимо кількість в двійкову систему числення.

Пр. Число -13,37510 в двійковій СС: 1101,0112.

2. Виконуємо нормалізацію числа.

Нормалізована запис відмінного від нуля дійсного числа - це запис виду, де р - порядок, ціле число (позитивне, негативне або нуль); m - мантиса, причому справедливо співвідношення:.

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

У нормалізованому формі прийнято мантиссу записувати в двійковій системі числення, а порядок і саме число р - в десяткової.

Пр. У нормалізованому вигляді експоненціальний запис числа -13,37510 має вигляд:.

3. Виконуємо приведення мантиси.

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

Пр. Наведена мантиса дорівнює 101011.

4. Обчислюємо характеристику числа.

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

Пр. Характеристика заданого числа 3 + 127 = 130. У двійковій системі числення характеристика має вигляд: 10000010.

5. Заповнюємо знаковий розряд числа.

У знаковий розряд для позитивного числа записати нуль, для негативного числа - одиницю.

Пр. Внутрішнє двійкове подання дійсного числа -13,37510 має вигляд: 1 10000010 +10101100000000000000000, а шестнадцатеричное - С1 56 00 00.

Схожі статті