Студентам > Рефераты > Вычислительные машины и системы
Вычислительные машины и системыСтраница: 3/12
разрядом или после младшего. В первом случае в
разрядной сетке
могут быть представлены только числа, которые по модулю
меньше 1,
во втором - только целые числа.
Для кодирования знака числа используется старший
("знако-
вый") разряд.
При выполнении арифметических действий над
правильными дро-
бями могут получаться двоичные числа, по абсолютной
величине
больше или равные единице, что называется 1
переполнением разрядной
1сетки. 0 Для исключения возможности
переполнения приходится масшта-
бировать величины, участвующие в вычислениях.
Диапазон представления правильных двоичных дробей:
2 5-(n-1) 0 7, 0
│(A)│ 7 , 0 1 - 2 5-(n-1) 0 .
.
- 2 -
Числа, которые по абсолютной величине меньше единицы
младше-
го разряда разрядной сетки, называются 2машинным
нулем 0.
Диапазон представления целых двоичных чисел со
знаком в
n-разрядной сетке:
0 7, 0
│(A)│ 7 , 0 2 5n-1 0 - 1 .
Использование представления чисел с фиксированной
запятой
позволяет упростить схемы машины, повысить ее
быстродействие, но
представляет определенные трудности при
программировании. В нас-
тоящее время представление чисел с фиксированной запятой
исполь-
зуется как основное только в микроконтроллерах.
В универсальных ЭВМ основным является представление
чисел с
плавающей запятой. Представление числа с плавающей
запятой в об-
щем случае имеет вид:
A = 7+ 0m *
N 5+p 0 ,
где N - основание системы счисления,
p - целое число, называемое порядком числа A,
m - мантисса числа A (│m│<1).
Так как в ЭВМ применяется двоичная система
счисления, то
A = 7+ 0m *
2 5+p 0 ,.
причем порядок и мантисса представлены в двоичной
форме.
Двоичное число называется нормализованным, если его
мантисса
удовлетворяет неравенству
1/2 7, 0 │ m
│ 7 0< 1 .
Неравенство показывает, что двоичное число является
нормали-
зованным, если в старшем разряде мантиссы стоит
единица. Напри-
мер, число 0,110100*10 5100 0 -
нормализованное, а 0,001101*10 5110 0 -
ненормализованное.
Ситуация, когда в процессе вычислений получено число
с │m│ 7. 01
называется переполнением разрядной сетки.
Нормализованное представление чисел позволяет
сохранить в
разрядной сетке большее количество значащих цифр и,
следователь-
но, повышает точность вычислений. Однако современные ЭВМ
позволя-
ют, при необходимости, выполнять операции также и над
ненормали-
зованными числами.
.
- 3 -
Диапазон представления нормализованных двоичных
чисел, взя-
тых по абсолютному значению, удовлетворяет неравенству:
2 5-1 0* 5
02 5-(2k-1) 7 , 0 │(A)│ 7, 0
(1 5 0- 5 02 5-l 0) 5 0* 5
02 52k-1 0 ,
где l - число разрядов мантиссы;
k - число разрядов порядка;
2 5-1 0 - наименьшее значение
нормализованной мантиссы;
1-2 5-l 0 - наибольшее значение
нормализованной мантиссы.
Широкий диапазон представления чисел с плавающей
запятой
удобен для научных и инженерных расчетов. Для повышения
точности
вычислений во многих ЭВМ предусмотрена возможность
использования
формата двойной длины, однако при этом происходит
увеличение зат-
рат памяти на хранение данных и замедляются вычисления.
2Представление отрицательных чисел в
ЭВМ.
Для кодирования знака двоичного числа используется
старший
("знаковый") разряд (ноль соответствует плюсу,
единица - минусу).
Такая форма представления числа называется
2прямым кодом 0.
Формула для образования прямого кода правильной дроби
имеет вид:
7(
72 0 A, если A 7. 00,
[A] 4пр 0 = 7 *
72 0 1-A, если A<0.
79
Примеры:
A = 0,110111 --> [A] 4пр 0 = 0,110111
A = -0,110111 --> [A] 4пр 0 = 1 - (-0,110111) = 1,110111
Прямой код целого числа
получается по формуле:
7(
72 0 5 0 A, если
A 7. 00,
[A] 4пр 0 = 7 *
72 010 5n-1 0- 5 0A, если A<0.
79
где 10 - число 2 в двоичной системе счисления,
n - количество позиций в разрядной сетке.
Например, при n=8
A = 110111 --> [A] 4пр 0 = 00110111
A = -110111 --> [A] 4пр 0 = 10000000
- (-110111) = 10110111
В ЭВМ прямой код применяется только для
представления поло-
жительных двоичных чисел. Для представления
отрицательных чисел.
применяется либо дополнительный, либо обратный код, так
как над
- 4 -
отрицательными числами в прямом коде неудобно выполнять
арифмети-
ческие операции.
Формула для образования дополнительного
кода 4 0дроби:
[A] 4доп 0 = 10 + A.
Формула для образования обратного кода 4
0дроби:
[A] 4обр 0 = 10 -
10 5-(n-1) 0 + A.
Например, при n = 8, для A = -0,1100001
[A] 4доп 0 = 10 + (-0,1100001) = 1,0011111
[A] 4обр 0 = 10-10 5-7 0+(-0,1100001)
= 1,1111111-0,1100001 = 1,0011110.
Формула для образования дополнительного кода 4
0целого числа:
[A] 4доп 0 =
10 5n 0 + A.
Формула для образования обратного кода 4
0целого числа:
[A] 4обр 0 =
10 5n 0 - 1 + A.
Например, при n = 8, для A = -1100001
[A] 4доп 0 = 100000000 + (-1100001) = 10011111
[A] 4обр 0 = 100000000-1+(-1100001) =
11111111-1100001 = 10011110.
Таким образом, правила для образования
дополнительного и об-
ратного кода состоят в следующем:
- для образования дополнительного кода
отрицательного числа
необходимо в знаковом разряде поставить единицу, а все
цифровые
разряды инвертировать (заменить 1 на 0, а 0 - на 1),
после чего
прибавить 1 к младшему разряду;
|