а) |
|
|
|
б) |
|
|
|
U |
1 |
0 |
1 |
U |
1 |
0 |
1 |
t |
t |
Рис. 2. Динамический способ (импульсный код) представления сигнала: |
|
а |
– единица изображается наличием импульса, нуль – отсутствием |
|||
импульса; |
|
|
|
|
б |
– единица |
представлена |
положительным |
импульсом, нуль – |
отрицательным |
импульсом. |
|
|
|
передаче 2-х единиц уровень напряжения сохранятся неизменным. На рис.3 изображено число 1011.
U
1 0 1 1
t
Рис. 3
Когда единица изображается наличием импульса, а нуль – его отсутствием, для передачи чисел последовательным кодом их разряды должны поступать в строго определенные моменты времени. Отметки времени прохождения каждого разряда создаются синхронизирующими, или тактовыми, импульсами (ТИ). Для передачи требуется один канал, но затрачивается много времени, т. к. разряды передаются последовательно друг за другом. На рис. 4 видим то же число 1011.
1 |
0 |
1 |
|
1 |
ТИ
Рис. 4
При параллельном коде все разряды передаются одновременно, каждый из них поступает по своему каналу. Время передачи маленькое, но при этом требуется столько каналов, сколько разрядов в передаваемом числе (рис. 5).
6
При числоимпульсном коде число представлено серией импульсов высокой частоты. Количество импульсов в серии равно значению числа:
1
0
1
1
Рис. 5
например, для передачи числа 12 должно быть 12 импульсов. Подобный способ годится для любой системы счисления. Он применяется во входных и выходных устройствах, угол поворота вала представляется пропорциональным ему числом импульсов.
В зависимости от применяемого кода цифровые устройства подразделяются на устройства параллельного и последовательного действия.
2.2. Разрядные сетки цифровых вычислительных машин
Возьмем число 1350. Его можно записать 1350, или 135*10, или
13,50*102, или 1,350*103, или 0,135*104 и так далее. В цифровых вычислительных машинах в зависимости от выбранной формы записи используют следующие форматы: с фиксированной запятой (естественная) или с плавающей запятой (полулогарифмическая форма числа).
При записи числа в формате с фиксированной запятой необходимо заранее договориться о том, сколько разрядов будет отведено для записи целой части числа, сколько будет отведено под запись дробной части. На рис. 6 изображена разрядная сетка, имеющая 15 разрядов: 1 разряд отведен под запись знака, 7 разрядов – для записи целой части числа, 7 разрядов – под запись дробной части.
Знак |
1 |
2 |
3 |
|
4 |
5 |
6 |
7 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
|
Целая часть |
|
|
|
|
|
Дробная часть |
|
|
|
||||
Рис. 6
Число записывается в натуральном виде: 1,5; 2175; 0,435 и т.д. Как правило, естественную форму представления информации используют в
7
компьютере для хранения в памяти и обработки в процессоре целых чисел. Для хранения целых положительных чисел отводится одна ячейка памяти (8 битов), для хранения целых чисел — две ячейки (16 битов), а для хранения больших целых чисел — четыре ячейки (32 бита). С учетом выделения одного разряда для знака числа для хранения больших целых чисел используется 31 двоичный разряд.
Таким образом, максимальное двоичное число равно А = 1*230+1*229+...+1*2°.
Следовательно, абсолютная величина больших целых чисел не может превышать 231– 1, а диапазон их изменения составляет от -2147483647 до
2147483647.
При записи числа в форме с плавающей запятой (точкой) число записывается в виде правильной дроби, значащая цифра у которой стоит после запятой (нормализованное число), эту часть называют мантиссой m,
фиксируются также порядок (характеристика) числа p и знаки мантиссы и порядка. Основание системы одинаково для всех чисел, и его можно не отображать. На рис.7 приведена такая сетка.
Знак |
Поле мантиссы |
|
Знак порядка |
Поле порядка |
мантиссы |
|
|
|
|
|
|
Рис. 7 |
|
|
Для представления мантиссы вводится ограничение q-1 ≤ | m | < 1,
где q−основание системы счисления.
Абсолютное значение мантиссы лежит в пределах от q-1 до 1 – q-n , где n−количество разрядов для изображения мантиссы без знака. Машинное изображение числа (представление числа А в разрядной сетке вычислительной машины) будем обозначать [А]. Запишем в разрядную сетку двоичное число -10110,1111. Прежде всего, запишем это число в виде -0,101101111*2+5. Для записи мантиссы отведем 10 разрядов, 1 разряд под знак, числа положительные будем кодировать 0, числа отрицательные 1– 9 разрядов используем для записи мантиссы. Для порядка отведем 5 разрядов, один используем для записи знака порядка, в нашем случае это 0, 4 для записи числа 5 в двоичной системе счисления. Изображение числа [А] в форме с плавающей запятой показано на рис 8.
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
Рис. 8
8
В современных ЭВМ количество ячеек для записи мантиссы и порядка кратно 8.
Вчислах с плавающей запятой арифметические операции производятся над мантиссой и порядком.
Если числа обрабатываются компьютером в экспоненциальной форме, диапазон изменения величины чисел может быть гораздо больше, чем у чисел, записанных в естественной форме. Числа одинарной точности занимают четыре ячейки памяти (32 бита), а числа двойной точности — восемь ячеек (64 бита).
Вслучае чисел двойной точности для хранения порядка числа отводится 11 битов (из них 1 бит для знака порядка) и для хранения мантиссы числа 53 бита (из них 1 бит для знака мантиссы), что проиллюстрировано на рис. 9.
Знак |
Мантисса |
Знак |
Порядок |
1 бит |
52 бита |
1 бит |
10 битов |
Рис. 9
В этом случае максимальное значение порядка числа составит 11111111112 (102410). С учетом того, что и порядок числа, и мантисса могут принимать как положительные, так и отрицательные значения, максимальное значение числа составит 21024, а минимальное – 2-1024.
Если перевести эти двоичные числа в десятичные, то в качестве максимального числа мы получим 1,79769313486232*10308, а в качестве минимального -0,556268464626800*10-308 (количество значащих цифр десятичного числа в компьютерном представлении ограничено 15 разрядами). Очевидно, что в экспоненциальном представлении чисел в компьютере их диапазон существенно больше, чем в естественном представлении.
2.3. Представление числовой информации
Схемы, реализующие операцию сложения, получаются гораздо проще и компактнее, чем схемы, выполняющие операцию вычитания. Поэтому в цифровых машинах операцию вычитания заменяют операцией сложения. Для выполнения арифметических операций используются следующие коды: прямой, обратный, дополнительный, а также их модификации. Числа, записанные в форме с плавающей запятой, представлены мантиссой и показателем. Будем полагать, что показатели одинаковы и речь идет о преобразовании мантисс.
Прямой код обозначается [x]пр и получается по следующему правилу:
если x = +0, x1x2…xn, где x1, …xn – двоичные цифры, [x]пр = x = 0, x1x2…xn; если же x = -0, x1x2…xn, то [x]пр = 1, x1x2…xn.
9
Таким образом, прямой код двоичного числа совпадает по изображению с записью самого числа, но в знаковом разряде стоит 0 или 1, соответственно для положительных и отрицательных чисел.
Обратный код обозначается [x]обр. Обратный код положительного числа совпадает с самим числом и его прямым кодом. При x > 0, [x]обр = =[х]пр = x. Для отрицательных чисел обратный код получается по следующему правилу: в знаковый разряд записывается 1, а в цифровых
разрядах |
нули |
заменяются |
единицами, |
единицы – |
нулями. |
|||||
Например, |
x = - 0, x1x2…xn. Его |
изображение |
[x]обр = 1, |
x |
1 |
x |
2... |
x |
n,; Y= |
|
=- 0,100010, [Y]обр= 1,011101. |
|
|
|
|
|
|
|
|
||
Дополнительный код числа х обозначается [x]доп, при х > 0, |
|
[x]доп = |
||||||||
= [х]пр = x. Дополнительный код отрицательного числа получается по следующему правилу: в знаковом разряде записывается 1, во всех цифровых разрядах нули заменяются на единицы, единицы – на нули и к
младшему разряду добавляется |
единица; x=-0,x1x2…xn, [x]доп = 1, |
|||||
x |
1 |
x |
2... |
x |
n+0,0…1. |
|
|
|
|
Например, х = -0,110111, |
[x]доп = 1,001000 |
||
|
|
|
|
|
|
+0,000001 |
|
|
|
|
|
|
1,001001 |
В модифицированных кодах в знаковых разрядах ставится 00, если числа положительные, или 11, если числа отрицательные. Обозначение
[x]мдоп, [x]мобр. Например, х = -0,110111, [x]мдоп = 11,001001.
2.4. Сложение (вычитание) чисел, записанных в форме с плавающей запятой, в модифицированном обратном коде
Числа, участвующие в арифметической операции, выполняемой в цифровых вычислительных машинах, называют операндами.
С = А В, где [А], [В]−операнды, – знак арифметического действия : сложения, вычитания, умножения, деления.
Рассмотрим операции над мантиссами, считая, что на момент их выполнения мантиссы имеют одинаковые характеристики (показатели степени). Разрядная сетка для размещения мантиссы – 7 разрядов, один используется для записи знака мантиссы, шесть разрядов предназначены для записи мантиссы.
10