Любая информация (текс, числа, изображение, звук) хранится в памяти ПК в двоичном коде. Поэтому современные компьютерные технологии называются цифровыми технологиями.
В компьютере различают 2 типа числовых величин: целые и вещественные числа. Различаются и способы их представления в памяти ПК.
Любую информацию в памяти ПК можно записать в виде 0 и 1, т.е. бит. 8 бит = 1 байту.
Часть памяти, хранящую одно число, называют ячейкой. Минимальная ячейка, хранящая ЦЕЛОЕ число, имеет размер - 8 бит, т.е 1 байт.
Целые числа в памяти ПК хранятся в формате с фиксированной запятой. В этом случае каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа, а «запятая» находится справа после младшего разряда, т.е. вне разрядной сетки.
Представим десятичное целое число 25 в двоичной системе счисления и впишем его в восьмиразрядную ячейку, прижав к правому краю ячейки (в младших разрядах). Оставшиеся слева разряды (старшие) заполняются нулями.
Самый старший разряд хранит знак числа. Если число положительное, то в этом разряде 0, а если отрицательное - 1.
Определим диапазон чисел, которые могут хранится в оперативной памяти в формате целых неотрицательных чисел.
Минимальное число - 00000000 В десятичной системе оно соответствует 0
Максимальное число - 01111111 В десятичной системе оно соответствует 127
Таким образом, диапазон целых неотрицательных чисел, помещающихся в 8-разрядную ячейку [0; 127].
Для представления отрицательных целых чисел используется дополнительный код числа.
Получить дополнительный код можно по следующему алгоритму:
1) записать внутреннее представление положительного числа Х;
2) записать обратный код, т.е. заменить 1 на 0 и 0 на 1.
3) к полученному числу прибавить 1.
Рассмотрим применение данного алгоритма на примере десятичного числа -25.
1) Запишем внутреннее представление числа 25 в 8-разрядной ячейке: 00011001
2) Запишем обратный код: 11100110
3) Прибавим к получившемуся числу 1: 11100111 - это и есть -25.
В результате выполнения данного алгоритма 1 в старшем разряде получается автоматически. Она и является признаком отрицательного значения.
Для проверки Вы можете сложить числа +25 и -25. В результате должен получиться 0.
Определим диапазон чисел, которые могут хранится в оперативной памяти в формате целых отрицательных чисел.
Минимальное число - 00000000 В десятичной системе оно соответствует 0
Максимальное число - 10000000 В десятичной системе оно соответствует -120
Таким образом, диапазон целых отрицательных чисел, помещающихся в 8-разрядную ячейку [-128; 0].
Очевидно, что восьмиразрядное представление целых чисел обеспечивает слишком узкий диапазон значений [-128; 127].
Если требуется больший диапазон, необходимо использовать ячейки большего размера.
Для 16-разрядной ячейки (2 байта) диапазон значений - [-32 768; 32 767].
Для 32-разрядной ячейки (4 байта) диапазон значений - [-2 147 483 648; 2 147 483 647].
Достоинствами представления чисел в формате с фиксированной запятой являются простота и наглядность представления чисел, а также простота алгоритмов реализации арифметических операций.
Недостатком представления чисел в формате с фиксированной запятой является небольшой диапазон представления величин, недостаточный для решения математических, физических, экономических и других задач, в которых используются как очень малые, так и очень большие числа.
Представление вещественных чисел
Целые и дробные числа в совокупности называются вещественными числами. Решение большинства математических задач сводится к вычислениям с вещественными числами.
Любое вещественное число можно записать в формате с плавающей точкой. В этом случае положение «запятой» в записи числа может изменяться.
Формат чисел с плавающей запятой базируется на экспоненциальной форме записи: А = m * qn
где m — мантисса; q - основание системы счисления; n - порядок.
Например: 123,45 = 0,12345*103 (m = 0,12345; q = 3; n = 10)
Представление числа в форме с плавающей точкой неоднозначно. Например, справедливы следующие равенства:
12,345 = 0,0012345 * 104 = 0,12345 * 102 = 1234,5 * 10-2
Как правило, мантисса должна удовлетворять условию: 0,1p < m < 1р
Чаще всего для хранения вещественных чисел в памяти ПК используется 32-разрядная (представление числа с обычной точностью) либо 64-разрядная ячейка (представление числа с удвоенной точностью). В ячейке хранятся два числа в двоичной системе счисления - мантисса и порядок:
Достоинством представления целых чисел в формате с плавающей запятой является более широкий диапазон чисел.
Недостатками представления чисел в формате с плавающей запятой являются:
1) выход из диапазона (переполнение) - аварийная ситуация для процессора, который прерывает свою работу;
2) результаты машинных вычислений с вещественными числами содержат погрешность. При использовании удвоенной точности эта погрешность уменьшается.
Практическое задание:
1) Записать внутреннее представление десятичных чисел, используя 8-разрядную ячейку:
а) 29 б) -29 в) 126 г) -126
2) Определить, каким десятичным числам соответствуют двоичные коды 8-разрядного представления целых чисел:
а) 00010101 б) 11111110
Домашнее задание - подготовка к контрольной работе, решить задачи:
1) Записать внутреннее представление десятичных чисел, используя 8-разрядную ячейку:
а) 32 б) -32 в) 102 г) -102
2) Определить, каким десятичным числам соответствуют двоичные коды 8-разрядного представления целых чисел:
а) 00111111 б) 10101010