русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Представление целых чисел со знаком


Дата добавления: 2014-11-28; просмотров: 577; Нарушение авторских прав


Для представления как положительных так и отрицательных чисел используется так называемый дополнительный код –наиболее распространенный способ представления отрицательных целых чисел в компьютерах. Основным достоинством дополнительного кода является то, что в нем единообразно реализуются операции сложения чисел разных знаков (алгебраическое сложение), а операцию вычитания можно свести к операции сложения заменой знака вычитаемого на обратный. Дополнительный код отрицательного числа получается инвертированием двоичного числа и прибавлением к нему единицы (поэтому он и называется дополнительным).

Чтобы увидеть, как получается отрицательное число в дополнительном коде, вычтем из нуля единицу. Вычитание будем производить используя восьмиразрядную решетку:

 
 

 


–-
0

b
b
b

Мы получили число -1 в двоичном дополнительном коде. Чтобы убедится, что это в самом деле -1, сложим это число с 1:

 
 


+
1

b
b
b

Как и следовало ожидать мы снова получили 0.

При записи числа в дополнительном коде старший разряд является знаковым. Если его значение равно 0, то в остальных разрядах записано положительное двоичное число. Если же знаковый разряд равен 1, то в остальных разрядах записано отрицательное двоичное число, преобразованное в дополнительный код.

Посмотрим, как представляется первые последовательные числа при переходе через ноль (для чисел записанных в восьмиразрядную решетку):

0000 0000
-1 1111 1111
-2 1111 1110
-3 1111 1101
-4 1111 1100
-5 1111 1011

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



Получим отрицательное число −5, записанное в дополнительном коде.

Запишем 5 в двоичном виде, дописывая недостающие нули слева:

0000 0101

Инвертируем все разряды числа, получая таким образом обратный код:

1111 1010

Добавим к результату 1, получим искомый результат (−5 в дополнительном коде)

1111 1010 + 1 = 1111 1011

Для обратного преобразования используется тот же алгоритм. А именно:

Инвертируем все разряды числа

0000 0100

Добавим к результату 1 и получим снова положительное число 5

0000 0100 + 1 = 0000 0101



<== предыдущая лекция | следующая лекция ==>
Перевод чисел из двоичной системы в шестнадцатеричную и из шестнадцатеричной системы в двоичную | Числа с плавающей запятой (точкой)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.951 сек.