русс | укр

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

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

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

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


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

Двоично-десятичные числа


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


Дополнительным кодом числа +98 будет байт 62h

Доп(х) =2k - |x| ,если х < 0

Х, еслих > 0

 

Например,

 

или слово 0062h;

 

-а дополнительным кодом числа -98- байт 9Eh

(=158=256-98)

или слово FF9Eh (216-98=10000h-62h).

Приведем еще несколько примеров представления знаковыхчисел в дополни­тельном коде (при ячейке размером в байт):

 

 

Доп (0) = 0 = 00000000

 

Доп (1) = 1 = 00000001

Доп (-1) = 256 - 1 = 255 = 11111111

 

Доп (2) = 2 = 00000010

Доп (-2) = 256 - 2 = 254 = 11111110

 

Доп (3) = 3 = 00000011

Доп (-3) = 256 - 3 = 252 = 11111101

 

Доп (+126) = 126 = 01111110

Доп (-126) = 256 -126 = 130 = 10000010

 

Доп (+127) = 127 = 01111111

Доп (-127) = 256 - 127 = 129 = 10000001

 

Доп (-128) = 256 - 128 = 128 = 10000000

 

 

Из этих примеров видно, что в дополнительном коде самый левый бит играет роль знакового:

- для неотрицательных чисел он" равен 0,

- а для отрицательных равен 1.

 

 

Как и беззнаковые, знаковые числа размером в слово и двойное слово записы­ваются в памяти в "перевернутом" виде.

 

Например,

 

число -98 как слово будет храниться в памяти таким образом:

адрес ячейки: A A+l

↑ ↑

содержимое: 9E FF

 

при этом знаковый бит оказывается во втором (правом) байтеслова.

 

Обработка числовой информации на ЭВМ, как правило, происходит следующим образом.

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



При этом на переводчисел из одной системы в другую, естественно, тратится время.

Но если исходных данных и результатов немного, а их обработка данных занимает значительное время, тогда затраты на переводы не очень заметны.

 

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

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

 

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

 

Данное представление чисел называется двоично-десятичным(binary coded decimal, BCD-числа)

и строится по следующему принципу:

 

- берется десятичная запись числа

- и каждая его цифра заменяется на четыре двоичные цифры (от 0000до 1001), обозначающие эту цифру в двоичной системе.

 

Например,

число 193 будет представлено так: 0001 1001 0011.

 

Различие между двоичным и двоично-десятичным представлениями чисел про­является в том, что если в двоичном представлении за основу берется величиначисла (независимо от того, как именно оно вначале было записано), то в двоично-десятичном представлении за основуберется запись числа, причем именно десятичной системе (если число записать в другой системе, скажем в семиричной то получилось бы иное представление).

При этом однозначные числа (от 0до 9) записываются одинаково в обоих представления, но уже двузначные а представляются по-разному:

 

например,

число 13 в двоичном виде записывается как 00001011, а в двоично-десятичном - как 00010011.

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

 

 

Дело в том, что вводчисел осуществляется по цифрам, а двоично-десятичное представление и есть последовательность цифр числа.

 

 

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

 

В то же время операции над многозначными двоичными числами реализуются аппаратно, а потому выполняются быстрее.

В дальнейшем мы не будем рассматривать двоично-десятичные числа.

 

 



<== предыдущая лекция | следующая лекция ==>
Целые числа со знаком | Представление символьных данных


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


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

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

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


 


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

 
 

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

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