Представление чисел в компьютере
Правило 1: данные (и программы) в памяти компьютера хранятся в двоичном виде, т. е. в виде цепочек единиц и нулей. Современный компьютер может хранить и обрабатывать данные, представляющие информацию четырех видов: числовую, текстовую, графическую, звуковую.
Правило 2: представление данных в компьютере дискретно. Дискретное множество состоит из отделенных друг от друга элементов. Самым традиционным видом данных, с которым работают компьютеры, являются числа. Первоначально человек оперировал лишь целыми положительными (натуральными) числами: 1, 2, 3, 4,.... Очевидно, что натуральный ряд это дискретное множество чисел.
Правило 3: множество представимых в памяти компьютера величин ограничено и конечно. В математике ряд натуральных чисел бесконечен и не ограничен. Любое вычислительное устройство (компьютер, калькулятор) может работать только с ограниченным множеством целых чисел.
Целые числа в компьютере Правило 4: в памяти компьютера числа хранятся в двоичной системе счисления. Чтобы получить внутреннее представление целого положительного числа А, хранящегося в n-разрядном машинном слове, необходимо 1) перевести число А в двоичную систему счисления; 2) полученный результат дополнить слева незначащими нулями до n разрядов. Задача 1. Получить внутреннее представление числа 1607 в 2-х байтовой ячейке. Решение
1. Переведем число 1607 в двоичную систему счисления: = Дополним слева незначащими нулями до 16 разрядов: Ответ:
Отрицательные числа Для положительных и отрицательных чисел существует знаковый способ представления числа. Под знак отводится старший разряд ячейки: 0 – для положительных чисел, 1 – для отрицательных.
Для записи внутреннего представления целого отрицательного числа А необходимо: 1) получить внутреннее представление числа |А| - прямой код; 2) получить обратный код этого числа заменой 0 на 1 и 1 на 0; 3) к полученному числу прибавить 1 – дополнительный код. Задача 2. Получить внутреннее представление числа А= Задача 3. По внутреннему представлению числа восстановить само число: С172. Решение
1. Получим внутреннее представление числа | |=1607: – прямой код 2. Получим обратный код этого числа заменой 0 на 1 и 1 на 0: К полученному числу прибавим 1 : – дополнительный код. Ответ:
Решение 1. Получим двоичный код С172: Старший разряд равен 1, значит, это число отрицательное и записан его дополнительный код. 2. Получим обратный код, для этого вычтем 1: Получим прямой код модуля числа заменой 0 на 1 и 1 на 0: Переведем число из двоичной системы счисления в десятичную: = , значит исходное число: Ответ:
Задача 4. Пусть под целое число выделяется ячейка памяти размером в 16 битов. Найдем наибольшее положительное число, которое можно сохранить в этой ячейке. Решение Здесь первый бит играет роль знака числа. Ноль признак положительного числа. Значит, самое большое число в 2-х байтовой ячейке: Переведем число в десятичную систему счисления: =32767 Ответ:
Самое большое по модулю отрицательное число равно ) перевести число в двоичную систему счисления: – прямой код; 2) инвертировать этот двоичный код, т. е. заменить нули на единицы, а единицы на нули: – обратный код; 3) прибавить единицу к этому двоичному числу: – дополнительный код. Если под целое число в памяти компьютера отводится N битов, то диапазон значений целых чисел: [-2 N-1,2 N-1 -1]
Мы рассмотрели формат представления целых чисел со знаком, т. е. положительных и отрицательных. Бывает, что нужно работать только с положительными целыми числами. В таком случае используется формат представления целых чисел без знака. В этом формате самое маленькое число ноль (все биты нули), а самое большое число для 16- разрядной ячейки: В десятичной системе это = Вывод: целые числа в памяти компьютера это дискретное, ограниченное и конечное множество.
Формат чисел с плавающей запятой Вещественные числа хранятся и обрабатываются в компьютере в форме с плавающей запятой (экспоненциальная форма): А=mq n, где m – мантисса числа q – основание системы счисления n – порядок числа
Пример: 25,324 = 2, = 0, – нормализованная форма Нормализованная форма числа – мантисса должна быть меньше 1 и первая значащая цифра – не ноль.
В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся). Следовательно, внутреннее представление вещественного числа сводится к представлению пары целых чисел: мантиссы и порядка. Для примера рассмотрим внутреннее представление вещественного числа в 4-х байтовой ячейке памяти: Знак и порядок Знак и мантисса 1 байт 2 байт 3 байт 4 байт Д/з. §5, с. 43 3, 4.