Рассмотрим представление в памяти компьютера целых отрицательных чисел
Для представления целых отрицательных чисел используется дополнительный код.
Дополнительный код числа можно получить, зная следующий алгоритм:
1. Записать внутреннее представление соответствующего ему положительного числа
2. Записать обратный код полученного числа заменой во всех разрядах 0 на 1, и 1 на 0.
3. К полученному числу прибавить 1.
Представим внутреннее представление числа – 4210 в восьмиразрядной ячейке: 4210 = 1010102
1) 00101010
2) 11010101 это обратный код
3) + 1
11010110 получили представление числа – 4210 в восьмиразрядной ячейке.
Старший разряд получил значение 1 автоматически. Единица в старшем разряде – признак отрицательного числа.
Сложим числа 42 и – 42. Должны получить 0, проверим:
+ 00101010
11010110
100000000 получили число, старший разряд которого выходит за пределы восьмиразрядной ячейки, таким образом восьмиразрядная ячейка заполнена нулями, т.е. полученное при сложение число равно 0.
Представление восьмиразрядного отрицательного числа – Х дополняет представление соответствующего положительного числа Х до значения 28. Поэтому представление отрицательного целого числа называется дополнительным кодом.
Диапазон представления целых чисел в восьмиразрядной ячейке:
– 128 < X < 127 или –27 < Х < 27 – 1
Мы рассмотрели представление целых чисел на примере 8-ми разрядной ячейки, но бывают и 16-разрядные и 32-разрядные ячейки.
В 16-рядной ячейке можно получить числа диапазоном:
– 215 < X < 215 – 1 или – 32768 < X < 32767
В 32-разрядной ячейке можно получить числа диапазоном:
– 231 < X < 231 – 1 или – 2147483648 < X < 2147483647
Общая формула для диапазона целых чисел в зависимости от разрядности N ячейки:
– 2N–1 < X < 2N–1 – 1
Представление целых чисел в форме с плавающей запятой.
Вещественные числа это тоже, что и действительные числа. Из курса математике вам известно, что к действительным числам относятся целые и дробные числа.
Всякое вещественное число X записывается в виде произведения мантиссы m и основания системы счисления p в некоторой целой степени n, которую называют порядком:
X = m · pn
Например, число 25,324 = 0,25324 · 102
мантисса m = 0,25324, n = 2 – порядок. Порядок указывает, на какое количество позиций и в каком направлении должна сместится десятичная запятая в мантиссе.
Чаще всего для хранения вещественных чисел в памяти компьютера используется 32-разрядная или 64-разрядная ячейка. В первом случае это будет с обычной точностью, во-втором случае с удвоенной точностью. В ячейке хранятся два числа в двоичной системе счисления: мантисса и порядка.
Диапазон вещественных чисел ограничен, но он значительно шире, чем при представление целых чисел в форме с фиксированной запятой.
Например, при использовании 32-разрядной ячейки этот диапазон следующий:
–3,4 · 1038 < X < 3,4 · 1038
Результаты машинных вычислений с вещественными числами содержат погрешность. При удвоенной точности погрешность уменьшается. Выход из диапазона (переполнение) приводит к прерыванию работы процессора.
IV. Закрепление изученного материала
Выполнить самостоятельно задания №3(а,б) и №4(а,б) на странице учебника 105 с последующей проверкой
№3(а,б)
а) Записать внутреннее представление числа 32 в восьмиразрядную ячейку 3210 = 1000002
Значит внутреннее представление числа 32 в восьмиразрядную ячейку: 00100000
б) Записать внутреннее представление числа –32 в восьмиразрядную ячейку
32 имеет представление 00100000
Обратный код 11011111
+1
11100000
Значит внутреннее представление числа –32 в восьмиразрядную ячейку: 11100000
№4(а,б)
а) Определить какому десятичному числу соответствует двоичный код 00010101 восьмиразрядного представления целого числа.
Видим, что первый разряд – 0, значит число положительное.
Переведём число 101012 в десятичную систему счисления:
1 · 24 + 0 · 23 + 1 · 22 + 0 · 21 + 1 · 20 = 16 + 4 + 1 = 2110
Значит двоичный код 00010101 восьмиразрядного представления целого числа 2110.
б) Определить какому десятичному числу соответствует двоичный код 11111110 восьмиразрядного представления целого числа.
Видим, что первый разряд – 1, значит число отрицательное. Для нахождения десятичного числа выполним алгоритм дополнительного кода в обратном порядке, а именно:
1) Вычтем из данного числа 1
11111110
– 1
11111101
2) Заменим 1 на 0 и 0 на 1
00000010
3) Переведём двоичное число 102 в десятичную систему счисления.
102 = 1 · 21 + 0 · 20 = 2
Таким образом, двоичный код 11111110 восьмиразрядного представления целого числа 210.
Задание: представить вещественное число
а) 0,0050589; б)1234,0456
в нормализованной форме с плавающей точкой в десятичной системе счисления.
Ответы:
а) 0,0050589 = 0,50589 · 10–2
б) 1234,0456 = 0,12340456 · 104
V. Итог урока
– Сегодня на уроке вы узнали, каким образом хранятся числа в памяти компьютера. Как зависит диапазон значений чисел от размера ячейки, в которой хранится число.
Выставление оценок за урок (тест и задания №3, №4)
VI. Домашнее задание
Параграф 17, вопросы 1, 2, задания №3 (в,г), №4 (в,г)/