
Шпоры по ассемблеру, 1ый семестр (Гончаревич А Л) [3131 вопросов] / шпоры-1 / 5- Формы представления и способы кодирования двоичных чисел
..docx5- Формы представления и способы кодирования двоичных чисел.
Для представления каждого числа в ЭВМ используется стандартная
разрядная сетка (совокупность двоичных разрядов), состоящая из
определенного количества (в зависимости от типа числа) разрядов. Знак числа
является двузначной величиной и поэтому кодируется нулем или единицей в
первом разряде числа. В зависимости от способа использования разрядной сетки различают две формы представления чисел: естественную форму (с фиксированной точкой) и нормальную форму (с плавающей точкой). В естественной форме числа представляются последовательностью цифр, разделенных запятой на целую и дробную части. Весовые коэффициенты разрядов здесь фиксированы, поэтому и положение точки фиксировано. В нормальной форме числа представляются с помощью мантиссы и
порядка в виде A=Mqk, где M – мантисса числа A, q – основание системы
счисления; k – порядок числа A. При хранении числа в нормальной форме в
разрядной сетке помещаются две группы цифр: мантисса со знаком и порядок
со своим знаком.
Необходимость кодирования двоичных чисел связана с двумя основными
причинами: во–первых, необходимо кодировать знак числа; во–вторых, для
упрощения выполнения операции сложения отрицательных чисел возникает
необходимость в специальном кодировании всего числа. Числа,
представляемые в естественной и нормальной формах, кодируются с помощью
специальных машинных кодов: прямого, дополнительного и обратного.
Прямой код является простейшим машинным кодом и получается при
кодировании в числе только знаковой информации. Прямой код числа
совпадает с его изображением в естественной форме, за исключением
отрицательных чисел, у которых в знаковом разряде ставится единица.
Недостатком кодирования чисел в прямом коде является то, что правила счета,
оказываются разными для положительных и отрицательных чисел.
Дополнительный код находится как дополнение модуля отрицательного
числа до некоторого граничного числа, представимого в данной ЭВМ.Изображение положительных чисел в дополнительном коде совпадает с
изображением их в прямом коде. Дополнительный код для отрицательных
чисел больших единицы образуется в соответствии с формулой Aдоп=2n+1
+A, а для чисел меньших единицы A=2+A, где n – количество разрядов целой части
числа. Таким образом, для представления отрицательного числа в
дополнительном коде необходимо в знаковом разряде поставить единицу,
произвести обращение всех разрядов числа и к полученному коду прибавить
единицу младшего разряда, например A = –8710 = –01010111 = 10101001. Любое
отрицательное число в дополнительном коде может быть представлено в виде
суммыно с той лишь разницей, что знаковый разряд должен учитываться с
отрицательным весом. Поэтому при проведении арифметических операций в
дополнительном коде со знаковым разрядом оперируют как обычным
цифровым, например: разность двух чисел A1=39 и A2=87 равна A1 – A2 = A1 +
(–A2) = A1 + A2доп = 00100111+00101001–10000000 = –00110000 =–4810.
Обратный код является инверсией числа и образуется путем замены его
цифр взаимно обратными. При выполнении арифметических операций в
обратном коде, со знаковым разрядом оперируют как обычным цифровым,
однако, учитывают его с отрицательным весом минус единицу младшего
разряда. Для удобства общения человека с компьютером находит применение
двоично–десятичная система счисления (BCD–код – BinaryCodedDecimal), в
которой десятичные цифры кодируются в двоичной системе счисления. Для
кодирования всех десятичных цифр достаточно 4 двоичных разрядов. Но
четырехразрядное двоичное число позволяет получить 24=16 наборов, изкоторых при двоично–десятичном кодировании используется только 10.
Поэтому возможны различные варианты кодирования десятичных цифр в
двоичной системе счисления.
Наибольшее распространение получило кодирование десятичных цифр
кодом 8–4–2–1, при котором четырьмя разрядами двоичного кода отдельно
кодируется каждая цифра в десятичном числе. При этом один байт может
хранить либо две цифры десятичного числа, либо одну.