37
правок
Изменения
м
Нет описания правки
Можно получить диапазон значений <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>.
'''Достоинства метода:'''
*возможность заменить арифметическую операцию вычитания операцией сложения и сделать операции сложения одинаковыми для знаковых и беззнаковых типов данных, что существенно упрощает архитектуру процессора и увеличивает его быстродействие;
*нет проблемы двух нулей.
'''Недостатки:'''
*ряд положительных и отрицательных чисел несимметричен, но это не так важно: с помощью дополнительного кода выполнены гораздо более важные вещи, желаемые от способа представления целых чисел.
==Литература==
*Эндрю Таненбаум «Архитектура компьютера», 5-е изд., стр. 739—741
==Ссылки==*[http://ru.wikipedia.org/wiki/Дополнительный_код_(представление_числа) Википедия: — Дополнительный код (представление числа)]
*[http://ru.wikipedia.org/wiki/Прямой_код Википедия: — Прямой код]
*[http://en.wikipedia.org/wiki/Signedness Wikipedia: — Signedness]
[[Категория: Дискретная математика и алгоритмы]]
[[Категория: Представление информации]]