кодирование чисел на компьютереl.ppt
- Количество слайдов: 15
Кодирование чисел в компьютере
ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ Так как любое целое число можно представить как вещественное, но с нулевой дробной частью, то можно было бы ограничиться представлением в компьютере вещественных чисел и реализацией арифметических действий над ними. Однако для ü эффективного использования памяти ü повышения скорости выполнения вычислений ü введения операции деления нацело с остатком ( в паскале DIV и MOD) Целые числа представляются специально для них предназначенными способами.
Введение специальных способов представления целых чисел оправдано тем, что часто в задачах, решаемых с помощью компьютера, многие действия сводятся к операциям над целыми числами. Например, ü в задачах экономического характера, где данными служат количества акций, сотрудников, деталей, транспортных средств и т. д. ü для обозначения даты и времени; ü для нумерации различных объектов: элементов массивов, записей в базах данных, машинных адресов и т. п.
Целые числа в компьютере хранятся в форме с фиксированной запятой (точкой). Способы компьютерного представления целых чисел отличаются: § количеством разрядов (8, 16, 32, 64 -х разрядные сетки) § наличием или отсутствием знакового разряда
БЕЗЗНАКОВОЕ ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ Все разряды ячейки отводятся под само число. 8 -разрядная сетка 7 0 6 0 5 1 4 1 3 0 2 1 1 0 0 0 Пример: 5210= 1101002 Диапазон представляемых чисел: Аmin=00002=010 Amax=1111=28 -1=25510 Диапазон 0… 255 - разряды
БЕЗЗНАКОВОЕ ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ Все разряды ячейки отводятся под само число. 16 -разрядная сетка 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 0 0 0 0 0 1 1 0 0 Диапазон представляемых чисел: Аmin=000000002=010 Amax=11111111=216 -1=6553510 Диапазон 0… 65535
ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ СО ЗНАКОМ Старший разрядной сетки отводится под знак: 0 – для положительного числа 1 – для отрицательных чисел 1. 8 -разрядная сетка Пример: 5210=1101002 7 0 6 0 Знак положительного числа Знак отрицательного числа 5 1 4 1 3 0 2 1 1 0 - разряды 0 0 Пример: -5210= -1101002 7 6 5 4 3 0 1 1 0 1 2 1 1 0 0 0
Диапазон представляемых чисел: Amax=1111111=27 -1=12710 Аmin= - 12810 16 -разрядная сетка 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 1 1 0 0 Amax= =215 -1=3276710 Аmin= - 3276810
Машинные коды чисел В компьютере с помощью применения специальных машинных кодов чисел все арифметические операции над числами сводятся к операциям арифметического сложения и сдвигу кодов.
Прямой машинный код Прямой код целого числа полностью совпадает с записью самого числа в разрядной сетке компьютера. Прямой код отрицательного целого числа отличается от прямого кода соответствующего положительного числа содержимым знакового разряда. Прямой код используется для хранения положительных и отрицательных чисел в запоминающих устройствах Xпк=00011011 (прямой код десятичного числа 27) Yпк=10011011 (прямой код десятичного числа -27)
Дополнительный и обратный коды Замена операции вычитания (алгебраического сложения) на арифметическое сложение в компьютере осуществляется с помощью обратного и дополнительного кодов. Дополнительный код положительного числа совпадает с этим числом.
Дополнительный и обратный коды Дополнительный код положительного числа совпадает с этим числом. Пример. Найти прямой, обратный и дополнительный коды числа А = 3410 Апк= 00102, Аок= 00102, Адк= 00102. Указывает на то, что число положительное
Дополнительный и обратный коды Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму: 1) записать прямой код модуля числа 2) записать обратный код числа (заменить единицы нулями, нули — единицами) 3) прибавить к обратному коду единицу. Пример. Найти прямой, обратный и дополнительный коды числа А = -3410 Апк= 101000102, Аок= 11012, Адк= 110111102. Указывает на то, что число отрицательное
Код Грея В отличии от двоичного кода не является позиционным. В коде Грея между двумя кодовыми комбинациями, которые являются соседними, всегда изменяется значение только одного разряда. Это может быть важно для циклически повторяющихся технологических процессов. Заслуга Грея в том, что он выбрал код с очень простым алгоритмом перевода его в двоичный код.
Код Грея Алгоритм перевода: Кодовую комбинацию натурального двоичного кода складывают с такой же комбинацией, сдвинутой на один разряд вправо, при этом младший разряд сдвинутой комбинации отбрасывается. (Правило сложения 1+1 не соответствует привычной таблице сложения двоичных чисел. В нашем случае: 1+1=0 (без перехода 1 в следующий разряд) Пример. 710=1112= 100 г 1112 +_______ 1112 1001 г


