Представление чисел в компьютере
Рассмотрим теперь более подробно процесс кодирования чисел в компьютере[9]. Среди чисел, которые мы используем, встречаются натуральные, целые, рациональные, иррациональные. В вычислительных машинах применяются две формы представления чисел:
- - естественная форма или форма с фиксированной запятой (точкой);
- - нормализованная форма или форма с плавающей запятой (точкой);
С фиксированной запятой числа изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой, отделяющей целую часть от дробной. Например, 32,54; 0,0036; –108,2. Эта форма проста, естественна, но имеет небольшой диапазон представления чисел и поэтому не всегда приемлема при вычислениях. Если в результате операции получится число, выходящее за допустимый диапазон, происходит переполнение разрядной сетки и дальнейшие вычисления теряют смысл. В современных компьютерах форма представления чисел с фиксированной запятой используется только для целых чисел.
С плавающей запятой числа изображаются в виде X = ±M×P±r, где M - мантисса числа (правильная дробь в пределах 0,1 ≤ M < 1), r - порядок числа (целое), P - основание системы счисления. Например, приведенные выше числа с фиксированной запятой можно преобразовать в числа с плавающей запятой так: 0,3254×102, 0,36×10–2, –0,1082×103. Нормализованная форма представления имеет огромный диапазон чисел и является основной в современных ЭВМ.
Всякое десятичное число, прежде чем оно попадает в память компьютера, преобразуется по схеме:
X10→X2→X2 = M2×102r
После этого осуществляется ещё одна важная процедура:
- - мантисса с её знаком заменяется кодом мантиссы с её знаком;
- - порядок числа с его знаком заменяется кодом порядка с его знаком.
Указанные коды двоичных чисел - это образы чисел, которые и воспринимают вычислительные устройства.
Каждому двоичному числу можно поставить в соответствие несколько видов кодов. Существуют следующие коды двоичных чисел:
Прямой код. Прямой код двоичного числа (а это либо мантисса, либо порядок) образуется по такому алгоритму:
1. Определить данное двоичное число - оно либо целое (порядок), либо правильная дробь (мантисса).
2. Если это дробь, то цифры после запятой можно рассматривать как целое число.
3. Если это целое и положительное двоичное число, то вместе с добавлением 0 в старший разряд число превращается в код. Для отрицательного двоичного числа перед ним ставится единица. Например:
число X2 = –0,1011012→ код числа X пр = 1101101; число Y2 = +0,11011012→ код числа Yпр = 01101101.
Жирным шрифтом выделены знаковые разряды и, кроме того, у кодов отсутствует индекс "2".
Обратный код. Обратный код положительного двоичного числа совпадает с прямым кодом, а для отрицательного числа нужно, исключая знаковый разряд, во всех остальных разрядах нули заменить на единицы и наоборот. Например: число X2 = –0,101012 → Xпр = 1 10101 → Xобр = 101010;
числоY2 = +0,11012 → Yпр = 01101 = Yобр.
Дополнительный код. Дополнительный код положительного числа совпадает с его прямым кодом. Дополнительный код отрицательного числа образуется путём прибавления 1 к обратному коду. Например:
число X2 = –0,100102 → Xпр = 110010 → Xобр = 101101 → Xдоп = 101110;
число Y2 = +0,1011 → Yпр = 01011 = Yобр = Yдоп.
Дата добавления: 2015-11-26; просмотров: 1372;