русс | укр

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

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

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

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


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

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


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


Дополнительный код формируется путём:

· преобразования модуля числа в двоичный код;

· заполнения поля данных (байт, слово, двойное слово, расширенное слово) полученным двоичным кодом, прижимая его к правому краю;

· заполнением левых пустых разрядов поля данных нулями;

· инвертирования всех разрядов поля данных (замена нулей на единицу, а единиц – на нули);

· сложения полученного числа с единицей.

 

Таким образом, если хранится число со знаком, то старший бит (левый) является знаковым. Знаковый бит равен 1, если число отрицательное, и - 0, если число положительное.

Если под число отводится один байт, то диапазон его возможных значений от 0 до 255 (число без знака) или от –128 до +127 (число со знаком). В последнем случае 7 разряд называется знаковым.

При размещении числа в формате с фиксированной точкой в одном слове диапазон его возможных значений от 0 до 65535 (число без знака) или от –32768 до +32767 (число со знаком). В последнем случае 15 разряд называется знаковым.

Примеры. Для записи числа 6310 в формате с фиксированной точкой в поле данных «один байт» (число со знаком) используется прямой код. Согласно ему преобразуем число в 2-ую ПСС: 6310 = 1111112 и далее

Номер разряда
Значение разряда

 



Теперь представим в этом же формате число -6310. Отрицательные числа записываются в дополнительном коде. Следовательно, сначала преобразуем модуль этого числа в двоичный восьмиразрядный код: |-6310| = 001111112. Затем выполним инверсию этого кода (получим 110000002) и добавим единицу в младший разряд. Результат будет иметь вид:

Номер разряда
Значение разряда

 



Если под число отводится слово, то все будет аналогично. Например, представим число 29310 в прямом коде: 29310 =1001001012 и далее:

Номер разряда
Значение разряда

 

Представление отрицательного числа -29610 в этом формате (в дополнительном коде) выполним поэтапно: |-296| = 0000000100101000 → 11111110110101112 (инверсный 16 - разрядный код). После добавления единицы в младший разряд окончательно получим

Номер разряда
Значение разряда

 

Возможно обратное преобразование числа из прямого или дополнительного кода в 10-ую ПСС (декодирование). Например, пусть имеется число в прямом коле в поле данных один байт: 101010102. Для преобразования его в 10-ую ПСС действуем по обычным правилам преобразования из 2-ой ПСС в 10-ую [4]: 101010102 = 27 + 25 + 23 + 21 = 17010 .

Другой пример, имеется число, записанное в дополнительном коде в поле данных одно слово 11111101110001112 . Чтобы преобразовать его к десятичному представлению следует выполнить те же действия, но в обратном порядке. Сначала инвертируем код и добавим к нему единицу: 11111101110001112 → 0000001000111000 + 1 = 10001110012 . Затем двоичный код преобразуем в десятичный по обычным правилам [4]: 29 + 25 + 24 + 23 + 20 = 56910 . Окончательно приписываем этому числу знак минус и получим: -56910 .

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



<== предыдущая лекция | следующая лекция ==>
Равномерное Двоичное кодирование информации | Представление и хранение чисел в формате с плавающей точкой


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


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

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

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


 


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

 
 

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

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