Представление чисел в компьютере
Рассмотрим теперь более подробно процесс кодирования чисел в компьютере[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 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|