Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Билет №9 вопрос №1
Представление информации в форме с фиксированной и плавающей запятой. Прямая, обратная и дополнительная форма представления двоичных чисел.
Разряд двоичного числа представляется в ЭВМ некоторым техническим устройством, например триггером, двум различным состояниям которого приписывают значения 0 или 1. Набор соответствующего количества таких устройств служит для представления многоразрядного двоичного числа.
При представлении чисел с фиксированной запятой положение запятой фиксируется в определенном месте относительно разрядов числа. Обычно подразумевается, что запятая находится или перед старшим разрядом, или после младшего. В первом случае могут быть представлены числа, которые по модулю меньше 1, во втором только целые числа.
Знак |
2-1 |
2-2 |
… |
… |
2-31 |
0 1 2 3 4 5 6 ….. 31 - представление двоичных чисел с фиксированной запятой в виде 32 разрядных слов для случая закрепления запятой перед старшим разрядом.
Знак |
230 |
… |
… |
… |
20 |
0 1 2 3 4 5 6 ….. 31 - представление двоичных чисел с фиксированной запятой в виде 32 разрядных слов для случая закрепления запятой после младшего разряда.
Для кодирования знака числа используется «знаковый» разряд. 0 это +, 1 это -. Наибольшее положительное число, представимое в первой разрядной сетке, равно 0,1..1 = 1-2-31 , а наименьшее число 0,00…01 = 2-31 таким образом в разрядной сетке могут быть представлены числа в диапазоне от (1-2-31) до -2-31 и от 2-31 до (1-2-31). Диапазон чисел, для второго случая:
1 х 231-1. При выполнении на машине вычислений необходимо чтобы все исходные и получающиеся в процессе вычислений данные не выходили за диапазон чисел, представимых в разрядной сетке. Для этого в программировании задачи данные берутся с соответствующими масштабными коэффициентами. Итог: Использование представления с фиксированной точкой позволяет упростить схемы машины, повысить ее быстродействие, но создает трудности при программировании, в машинах, предназначенных для решения широкого круга вычислительных задач, основным является представление с плавающей запятой, не требующее масштабирования данных, однако в таких машинах наряду с этой формой представления используется также и представление с фиксированной точкой для представления целых двоичных чисел и операций над ними, в частности операции над кодами адресов.
Представление числа с плавающей запятой в общем виде имеет вид:
X= spq ; q 1 где q мантисса числа Х, p порядок, s основание характеристики.
Обычно число s совпадает с основанием мантиссы q. Мантисса q правильная дробь. Порядок p, который может быть положительным или отрицательным челым числом, определяет положение запятой в числе Х. Для двоичных чисел х = 2pq; q 1. Рассмотрим пример в котором слова имеют доины 32 двоичных разряда. Пусть число Х =2pq, изображается в машине двоичным словом а0в0в1 … в6а1а2…. А24 которому соответствует следующий формат данных :
А0 |
В0 |
В1 |
… |
В6 |
А1 |
А2 |
… |
А24 |
Разряды в0..в6 используются для представления порядка при этом разряд в0 изображает знак порядка, а разряды в1.. в6 модуль порядка, остальные разряды а0 .. а24 отводятся под изображение мантиссы, причем а0 знак мантиссы а1.. а24 модуль мантиссы. Двоичное число х= 2pq, называется нормализованным, если мантисса Q удовлетворяет следующему условию 1 q ½, т.е. двоичное число нормализовано если в старшем разряде мантиссы стоит 1. Под порядок отведено со знаком 7 разрядов то порядок может быть от 63 до +63 соответственно. Наибольшее и наименьшее нормализованное положительные числа в этой разрядной сетке соответственно равны: 263*0,111 … 1 = 263(1-2-24) и 2-63*0,1000..0=2-64. Следовательно с учетом знака q в этой разрядной сетке можно представить числа, лежащие в диапазоне от 263(1-224) до 2-64 и от +2-64 до +263(1-2-24), что значительно превышает диапазон чисел с фиксированной точкой, представимых в том же 32 х разрядном слове. При фиксированном количестве разрядов мантиссы любая величина, представляется в машине с наибольшей возможной точностью нормализованным числом. Если в процессе вычислений получается ненормализованное число, то машина с плавающей запятой автоматически нормализует его. Пусть r старших разрядов мантиссы равно 0. Тогда, нормализация заключатся в сдвиге мантиссы на r разрядов влево и уменьшении порядка на r единиц. При этом в младшие r разрядов мантиссы записывается 0. В последних моделях ЭВМ получило распространение представление чисел с плавающей запятой в системах счисления с основанием, равным целой степени числа 2 (S=2w), х = spq(1>q1/s). При этом порядок представляется двоичным целым числом, а мантисса q числом, в котором группы по w двоичных разрядов изображают цифры мантиссы с основанием системы счисления s=2w. Использование для чисел с плавающей запятой недвоичного основания несколько уменьшает точность вычислений (при заданном количестве разрядом мантиссы), но позволяет увеличить диапазон представимых в машине чисел и ускорить выполнение некоторых операций, в частности нормализации, за счет того, что сдвиг может производиться на несколько разрядов сразу. В ЕС ЭВМ числа с плавающей запятой представляются в шестнадцатеричной системе счисления: х=16pq (1>q1/16) .
А0 |
В0 |
В1 |
… |
В6 |
Г1 |
Г2 |
… |
Г6 |
Модуль порядка p изображается целым шестиразрядным двоичным числом,. А мантисса q рассматривается как число, составленное из шестнадцатеричных цифр в виде:
6
q= Гj 16-j (Гj = 0,1,2 …, F)
j=1
В случае с шестнадцатиричными числами с плавающей запятой число Х считается нормализованным, если старшая шестнадцатеричная цифра Г1 отлична от 0. В нормализованном числе три старшие двоичные цифры могут равняться 0. Диапазон представления нормализованных чисел: -1663(1-16-6) до 16-64 и от +16-64 до 1663(1-16-6). Для упрощения операций над порядками их сводят к действиям над целыми положительными числами, применяя представление чисел с плавающей запятой со смещенным порядком (ЕС ЭВМ). В случае чисел со смещенным порядком при записи числа в память к его порядку p прибавляется целое число смещение N=2k, где k число двоичных разрядов, используемых для модуля порядка. Смещенный порядок pсм=p + N всегда положителен. Для его представления нужно такое же число разрядов как для p со знаком.
Если семи десятичных разрядов не хватает то в ЕС ЭВМ введен формат двойной длины, занимающий два машинных слова (двойная точность), не меняется количество разрядов для изображения порядка, и, следовательно, сохраняется диапазон представления чисел, а длина мантиссы увеличивается до 14 шестнадцатеричных разрядов.
В ЭВМ с целью упрощения арифметических операций применяют специальные коды для представления чисел. Например, упрощается определение знака результата операции, вычитание есть сложение кодов, облегчено определение переполнения разрядной сетки. Положительные числа представляются в прямом коде. Прямой код Gпр двоичной дроби с (n-1) разрядной мантиссой G=0,к1,к2 …. к n-1 определяется как Gпр = Gкогда G0 и 1+Gкогда G 0 Прямой код целого n разрядного двоичного числа G = кn-2,kn-3, …k1,k0 имеет вид Gпр=Gпри G0 и 2n-1+G при G0 Прямой код числа со знаком можно рассматривать как двоичное число без знака , которое определяется этими соотношениями. Операция вычитания (алгебраического сложения) сводится к операции простого арифметического сложения при помощи обратного и дополнительного кодов, используемых для представления отрицательных чисел в машине. Что бы представить двоичное отрицательное число в обратном коде нужно в знаковый разряд поставить 1, а во всех других разрядах заменить 1 нулями, а 0 единицами. При этом отрицательная двоичная дробь G-= -0,k1,k2, …, kn-1в обратном коде примет вид
G-обр= 1,r1,r2, …,rn-1 а отрицательное двоичное число G= - kn-2,kn-3, …,k1,k0 соответственно G-обр= 1,rn-2,rn-3, …,r1,r0 где ri=0 если ki=1 и наоборот. При представлении отрицательного двоичного числа в дополнительном коде ставят 1 в разряд знака, а цифровую часть числа заменяют дополнением модуля числа до 2 или соответственно 2n, для дробей и целых чисел. Дополнительный код отрицательного числа G- определяется выражением G-доп=2- G-, если G- - двоичная дробь, и G-доп = 2n - G- если G- - целое двоичное число. Таким образом, дополнительный код числа может быть получен из обратного путем прибавления 1 к младшему разряду обратного кода.