Изменения

Перейти к: навигация, поиск
оформление + и -
Таким способом в <tex> n </tex>-битовом типе данных можно представить диапазон чисел <tex> [-2^{n-1} + 1; 2^{n-1} - 1] </tex>.
====='''Достоинства метода:====='''
*получить прямой код числа достаточно просто.
====='''Недостатки:====='''
*выполнение арифметических операций с отрицательными числами требует усложнения архитектуры центрального процессора (например, для вычитания невозможно использовать сумматор, необходима отдельная схема для этого);
Можно получить диапазон значений <tex> [-2^{n-1}; 2^{n-1} - 1]</tex>.
====='''Достоинства метода:====='''
*не требуется усложнение архитектуры процессора;
*нет проблемы двух нулей.
====='''Недостатки:====='''
*при арифметических операциях нужно учитывать смещение, то есть проделывать на одно действие больше (например, после «обычного» сложения двух чисел у результата будет двойное смещение, одно из которых необходимо вычесть);
Таким способом можно получить диапазон значений <tex> [-2^{n-1}+1; 2^{n-1} - 1] </tex>.
====='''Достоинства:====='''
*Простое получение кода отрицательных чисел
====='''Недостатки метода:====='''
*выполнение арифметических операций с отрицательными числами требует усложнения архитектуры центрального процессора
Можно получить диапазон значений <tex> [-2^{n-1}; 2^{n-1} - 1] </tex>.
====='''Достоинства метода:====='''
*возможность заменить арифметическую операцию вычитания операцией сложения и сделать операции сложения одинаковыми для знаковых и беззнаковых типов данных, что существенно упрощает архитектуру процессора и увеличивает его быстродействие;
*нет проблемы двух нулей.
====='''Недостатки:====='''
*ряд положительных и отрицательных чисел несимметричен, но это не так важно: с помощью дополнительного кода выполнены гораздо более важные вещи, желаемые от способа представления целых чисел.
37
правок

Навигация