Формат с плавающей точкой (для вещественных чисел)
Система вещественных чисел в математических вычислениях предполагается непрерывной и бесконечной, т.е. не имеющей ограничений на диапазон и точность представления чисел. Однако в компьютерах числа хранятся в регистрах и ячейках памяти с ограниченным количеством разрядов. Вследствие этого система вещественных чисел, представимых в машине, является дискретной (прерывной) и конечной.
Формат чисел с плавающей точкой основывается на экспоненциальной форме записи чисел, в котором любое вещественное число X, представленное в системе счисления с основанием Q, можно записать в виде:
,где m -мантисса числа (правильная дробь, модуль которой меньше 1), n- порядок числа, Q – основание системы счисления.
Представление числа в форме с плавающей точкой неоднозначно. Например, справедливы следующие равенства:
25,32410=2,5324*101=0,25324*102=0,0025324*104=253,24*10-1=2532,4*10-2 …
В компьютере используется нормализованное представление числа с плавающей точкой. Мантисса должна удовлетворять условию: 0,1£ m £ 1, т.е. мантисса меньше единицы и первая значащая цифра – не ноль.
В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся). Следовательно, внутреннее представление вещественного числа сводится к представлению двух целых чисел: мантиссы и порядка.
В разных типах компьютерах применяются различные варианты представления чисел в форме с плавающей точкой.
Число в форме с плавающей точкой занимает в памяти четыре (число обычной точности) байта или восемь (число с двойной точностью) байта.
Из рисунка видно, что в старшем бите 1-го байта хранится знак числа – 0(плюс) или 1(минус). Оставшиеся 7 битов первого байта содержат машинный порядок. В следующих трех байтах хранятся значащие цифры мантиссы (24 разряда).
В семи разрядах машинного порядка помещаются двоичные числа в диапазоне от 000 00002 (010) до 111 11112 (12710). Таким образом, всего 128 значений. Так как порядок может быть положительным и отрицательным, то эти 128 значений разделим поровну между положительными и отрицательными значениями порядка: от -64 до 63 – математический порядок.
Машинный порядок смещен относительно математического и имеет только положительные значения. Смещение выбирается так, чтобы минимальному математическому значению порядка соответствовал нуль.
Связь между машинным порядком (Мр) и математическим порядком (р) в рассматриваемом случае выражается формулой:
Мр = р+6410
В двоичной системе формула имеет вид: Мр 2= р2+100 00002
Числа с плавающей запятой чаще всего имеют формат двойное или учетверенное слово.
Для записи внутреннего представления вещественного числа необходимо:
1. перевести модуль данного числа в двоичную систему счисления с 24-значащами цифрами;
2. нормализовать двоичное число;
3. найти машинный порядок в двоичной системе счисления;
4. учитывая знак числа, выписать его представление в 4-байтовом машинном слове.
Например. Записать внутреннее представление числа 250,1875 в форме с плавающей точкой.
1.Переведем его в двоичную систему счисления с 24 значащими цифрами:
1111 1010, 0011 0000 0000 00002.
2.Запишем в форме нормализованного двоичного числа с плавающей точкой:
0, 1111 1010 0011 0000 0000 0000 * 1010002. Здесь основание 210 = 102 и порядок 810 = 10002
3.Вычислим машинный порядок в двоичной системе счисления:
Мр = 1000+ 100 000 = 100 1000.
4.
Запишем представление числа в 4-х байтовой ячейке памяти с учетом знака:
Шестнадцатеричная форма: 48FA3000
Дата добавления: 2015-10-19; просмотров: 1295;