русс | укр

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

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

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

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


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

Формы представления чисел в двоичной системе счисления


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


 

В ЭВМ используют две формы представления чисел: с фиксированной (“естественная форма”) или с плавающей (“полулогарифмическая форма”) запятой. При представлении чисел с фиксированной запятой положение запятой устанавливается для всех чисел или перед старшим, или после младшего разряда и остается неизменным, т.е. фиксируется. Для кодирования знака числа S используется старший разряд. Нуль в этом разряде соответствует плюсу, а единица – минусу. В остальных разрядах числа располагается мантисса М, сдвинутая таким образом (умноженная на коэффициент фиксации 2± P), что она будет либо целая, либо дробная для всех чисел в зависимости от положения запятой. Если запятую зафиксировать после младшего разряда, то все числа программист считает целыми, разрядная сетка имеет вид

 

2m 2m-1 2m-2   21 20  
S xm-1 xm-2 . . . x1 x0 .

 

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

 

   
    . . .     .

 

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

Современные процессоры фирмы Intel ориентированы на систему арифметических команд для работы с фиксиро­ванной запятой после младшего разряда для m+1 = 8/16/32/64. Увеличение разрядности чисел с 8 до 64 бит способствует повышению точности и диапазона представления чисел новых типов ЭВМ. Пусть m+1 = 64, тогда целые числа без знака могут быть представлены от нуля до 264-1 (все единицы в разрядной сетке). С учетом знака число Х целое может лежать в диапазоне

- (263-1) £ Х £ (263-1).



Все числа ú Хú < 1 иú Хú ³ 263, а также результаты вычислений не могут быть представлены в принятой разрядной сетке и способствуют появле­нию особых случаев и прерываний в вычислениях. Для исключения подобных случаев осуществляют масштабирование массива чисел, т.е. ум­ножают все числа (или часть) на соответствующий коэффициент фиксации. Например, требуется числа Х1 = - 10101,1111 и Х2 = + 101,111110 разместить в разрядной сетке 8 бит с фиксированной запятой со знаком как целые. Тогда определяют наибольшее число ú Хiú; его масштабируют (сдвигают) ´2±P таким образом, чтобы наибольшее число значащих старших цифр разместилось в разрядной сетке; младшие цифры, которые не размещаются в разрядной сетке, отбрасывают или иногда используют для округления; все другие числа умножают на полученный коэффициент фиксации и размещают в соответствующие разряды.

Так какú Х1ú >ú Х2ú, то используем Х1 для определения коэффициента фиксации Х1 = 1.1010111,´2-2. Заметим, что в Х1 за знаком располагается единица и что точка, отделяющая знак числа от мантиссы, не включается в разрядную сетку ЭВМ. Тогда число Х1 будет представлено с наибольшей точностью в виде

1101 0111,

где слева старший разряд, а справа младший. С учетом знака и коэффициента фиксации 2-2 число Х2 будет представлено как 00010111. Причем младшие цифры 11 в Х1 и 1110 в Х2 невозможно разместить в этой разряд­ной сетке. Они отброшены, и точность представления этих чисел уменьшается.

Если использовать масштабный коэффициент ´2+5, то числа Х1 и Х2 будут представлены в ЭВМ как дробные с фиксированной запятой перед старшим разрядом 1101 0111(Х1), 0001 0111 (Х2). Запятая в них предполагается слева после знака, старшая цифра имеет вес 2-1, младшая - 2-7.

Использование представления чисел с фиксированной запятой позво­ляет упростить схему ЭВМ, программы арифметических операций, которые можно выполнять с высоким быстродействием. Однако все числа представляются в разрядной сетке с разной точностью, так как масштабирование ведется с ориентацией на большие числа, а коэффициент фиксации массива чисел одинаков.

Для повышения точности и диапазона представления чисел в ЭВМ используется форма с плавающей запятой вида

Х =2P М, 1/2 £ ú Мú < 1,

где М – нормализованная мантисса числа, 2P – характеристика числа Х, р –порядок, 2 – основание.

В этой форме порядок представлен целым числом р со знаком (Sp), ман­тисса – правильная дробь, т.е. представлена с фиксированной запятой перед старшим разрядом со знаком (S). Так как мантисса нормали­зована 1/2 £ú Мú < 1, старшая цифра мантиссы числа всегда равна 1, и любое число размещается в разрядной сетке ЭВМ с наибольшей возможной точностью.

Так число

Х1 = - 2+5 ´ 0,1010111110…0.

Тогда в разрядной сетке Х1(2) будет представлено с плавающей запятой значениями порядка и мантиссы со знаками в виде

 

Sp p S M
0 … 0101 1 0 1 0 1 1 1 1 1 0 … 0
m   -1 -n

 

Для упрощения действий над порядками их сводят к микрооперациям над целыми положительными числами путем искусственного смещения значения р на величину +÷pmax÷. Смещенный порядок определяется по формуле

E = p + ÷ pmax÷.

В смещенном порядке знак отсутствует. Для представления Е необходимо столько же разрядов, как и для представления модуля порядка и знака. Так, если порядок будет занимать один байт в числе, то 7 разрядов в обычном представлении в нем отводится под модуль порядка, и pmax = 27-1. Теперь, прибавляя к любому порядку число pmax (+127), получим смещенный поря­док. Например, если p = + 5, то E(10) = 5 + 127 = 132. Размещая Е(2) без знака, получим представление смещенного порядка 1000 0100 в разрядной сетке 1 байт. Смещенный порядок 0…0 соответствует наибольшему отрицатель­ному порядку, а 1…1 - наибольшему положительному порядку. Величина E = pmax указывает на нулевой порядок. Смещенный порядок намного упрощает операции сравнения и сдвига чисел.

Если при сложении мантисс появляется цифра с весом 20, то есть ман­тисса вида 1, …, то считается, что произошло левое нарушение нормализации числа, когда ÷ М÷ ³ 1. А если в микрооперациях получена мантисса ú Мú < 1/2, то это соответствует правому нарушению нормализации числа, ко­гда в старшем разряде мантиссы с весом 2-1 появляется нуль.

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

Рис. 3

 

Наибольшее отличное от нуля по модулю число, которое может быть представлено в формате ОТ, будет равно Xmax = 2+127 ´ (1 - 2-23), а наименьшее Xmin = 2-127 ´ 1/2 = 2-128. В зависимости от целей программирования в ЭВМ используются различные форматы данных.



<== предыдущая лекция | следующая лекция ==>
Алгоритмы перевода чисел из одной системы счисления в другую | Операции сложения чисел в прямом, обратном и дополнительном кодах с фиксированной запятой


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


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

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

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


 


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

 
 

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

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