Кодирование целых чисел со знаком
Кодирование положительных целых чисел
КОДИРОВАНИЕ ЧИСЕЛ И ТЕКСТОВ
В качестве схем кодирования данных для компьютеров используют цифровые схемы (табличные) или числовые. И в том, и в другом случае аналоговая информация представляется битами, байтами или композициями байтов. В этом разделе мы познакомимся с методами цифрового и числового кодирования основных видов информации при её записи. Рассматривать мы будем их в хронологическом порядке -именно так, как учёные создавали и внедряли методы кодирования.
Положительные целые числа кодируются согласно правилам двоичной арифметики. Числа в диапазоне от 0 до 255 записываются одним байтом. Порядок преобразования числа в двоичную форму рассмотрим на примере числа 99.
1. Число раскладывается в ряд по степеням двойки (128, 64, 32,16, 8, 4, 2 и 1),
например:
99 = 64 + 32 + 2 + 1
2. Слагаемые записываются с помощью степенных выражений:
99 = 26 + 25 + 21 + 2°
3. Показатели степеней указывают на то, какой бит в байте должен быть включён (равен 1). То есть в нашем примере включены должны быть биты: шестой, пятый, первый и нулевой. Номера битов в байте отсчитываются от 0 до 7, а сами биты обозначаются от А0 до А7. (Здесь буква «А» обозначает слово «адрес».)
Числа в диапазоне от 0 до 65535 записываются двумя байтами. Пара взаимосвязанных байтов (16 бит) в информатике называется словом. Его информационным значением являются 65 536 (216) различимых состояний.
Для записи более крупных целых положительных чисел используют двойное слово(32 бита) или учетверённое слово(64 бита). Так, например, учетверённым словом можно записать целые числа в диапазоне от 0 до 18 446 744 073 709 551 615.
Теоретически, для знака записи числа можно было бы выделить один бит, например самый старший. Тогда оставшиеся 7 бит позволили бы выразить целые числа от -127 до +127, включая 0. Однако при таком подходе возникают две проблемы:
· информационным содержанием байта становятся 255 различимых чисел вместо 256 (то есть одно значение куда-то пропадает);
· мы получаем два различимых нуля: «плюс ноль» и «минус ноль» (вот куда пропало недостающее значение). Эти обстоятельства «сбивают» работу вычислительных систем и не позволяют использовать простое двоичное представление для записи целых чисел со знаком. Для таких чисел придумана специальная форма записи, которая называется двоичной дополнительной арифметикой.Запись числа в этой форме осуществляется в три приёма.
1. Сначала записывается целое число без знака (как будто оно положительное).
2. Если число отрицательное, то оно инвертируется (каждый бит числа меняется на противоположный).
3. Затем инверсное число дополняется (значение младшего бита увеличивается на единицу).
Интересно отметить, что старший бит байта указывает на знак числа. Если он равен нулю, то число положительное, а если он равен 1, то отрицательное.