Целочисленная компьютерная арифметика. Представление отрицательных чисел в знаковых целых типах.




Целые числа являются простейшими числовыми данными, с которыми оперирует ЭВМ. Для целых чисел существуют два представления: беззнаковое (только для неотрицательных целых чисел) и со знаком. Очевидно, что отрицательные числа можно представлять только в знаковом виде. Целые числа в компьютере хранятся в формате с фиксированной запятой.

Для представления в компьютере целых отрицательных чисел используют дополнительный код, который позволяет заменить арифметическую операцию вычитания арифметической операцией сложения, что существенной увеличивает скорость вычисления.

Представление числа в привычной для человека форме "знак" - "величина", при которой старший разряд ячейки отводится под знак (0 – ‘+’, 1 – ‘-‘), а остальные k-1 под цифры числа, называется прямым кодом.

Алгоритм получения дополнительного k-разрядного кода отрицательного числа:

1) Модуль числа представить прямым кодов в k двоичных разрядов

2) Значение всех разрядов инвертировать, тем самым получаем k-разрядный обратный код исходного числа

3) К полученному обратному коду, трактуемому как k-разрядное неотрицательное двоичное числа прибавить 1, тем самым получаем искомый дополнительный код.

Пример:

· Найти дополнительный код числа -10

               

1) |-10| прямой код модуля числа

 

               

2) обратный код

 

               

3) дополнительный код

 

· 8 – 10 = 8 + (дополнительный код (-10)) = -2

               

 

               
               

(8) + (-10) =

               

 

               
               

- =

 

               

(-2) Диапазон: [-2k-1; 2k-1-1]

Организация арифметических действий в ограниченном числе разрядов. Целочисленная арифметика.

При выполнении арифметических действий целочисленной K-разрядной арифметики возможно возникновение ситуаций, незнание которых может привести к неверному результату при выполнении верных алгоритмов.

  1. Старшие цифры результата, выходящие за опред-е кол-во разряда оказыв. утеряны.
  2. При сложении, умножении положительных чисел, имеющих знаковое представление, можно получить отриц. число.

 

 

Организация арифметических действий в ограниченном числе разрядов. Арифметика с плавающей точкой.

Сложение и вычитание

При сложении и вычитании предварительно выполняются подготовительная операция-выравнивание порядка.: мантисса числа с меньшим порядком сдвигается в своей ячейке вправо на кол-во разрядов равное разности порядков. После этой операции одноименные разряды мантисс оказываются расположенными в одноименных разрядах обоих ячеек. Теперь сложение и вычитание выполняются как и над числами с фиксированной запятой.

После операции над порядками и мантиссами получаем порядок и мантиссу результата, при этом мантисса может не удовлетворять ограничениям, накладываемым на мантиссу нормализованного числа. Следовательно, необходимо дополнительное преобразование результата-нормализация. В зависимости от величины получившейся мантиссы результата она сдвигается вправо или влево так, чтобы первая ее значащая цифра попала в первый разряд после запятой. Одновременно порядок результата увеличивается или уменьшается на число, равное величине сдвига.

Пример: Для мантиссы 5 разрядов,1 под порядок и по 2 разряда на знаки

23,619=0,23619 * 10^2

+ 0,071824=0,71824 * 10^(-1)

+ +            

 

- +            
+ +            

 

+ +            

+00071

Умножение и деление

При умножении двух вещественных чисел с плавающей запятой необходимо их порядки сложить, а мантиссы умножить.

При делении от порядка делимого отнимается порядок делителя, мантиссу делимого разделить на мантиссу делителя.

При необходимости выполнить нормализацию

Пример:

230 * 95*10^5

+ +            

 

+ +            

 

0,23 * 10^3

0,95 * 10^7

2185 3+7=10-переполнение порядка

Число не представимо

 

0,92*10^4 / 0,3*10^7

+ +            

 

 

+ +            

 

- +            

 

Ответ 31(6)

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-03-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: