русс | укр

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

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

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

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


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

Алгоритм получения кода вещественного числа


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


Формат с плавающей точкой

Представление вещественных чисел

Алгоритм получения дополнительного шестнадцатиразрядного двоичного кода отрицательного числа

Для положительных чисел все три кода совпадают с двоичным представлением числа с помощью шестнадцати двоичных разрядов, при этом в пустые разряды записываются нули.

Вид кода Целое число со знаком
–32768 –23
Прямой 1000 0000 0000 0000 0000 0000 0001 0111 0000 0000 0001 0010
Обратный 0111 1111 1111 1111 1111 1111 1110 1000 0000 0000 0001 0010
Дополнительный (внутреннее представление) 1000 0000 0000 0000 1111 1111 1110 1001 0000 0000 0001 0010
80 00 FF E9 00 12

 

1) Записать прямой код отрицательного числа в 16 двоичных разрядах. Для этого модуль целого отрицательного числа надо перевести в двоичную систему счисления и дополнить полученный результат слева нулями до 16 битов.

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

3) Записать дополнительный код отрицательного числа в 16 двоичных разрядах. Для этого к обратному коду, рассматриваемому как шестнадцатиразрядное неотрицательное двоичное число, прибавить единицу.

Вещественные числа занимают в памяти четыре байта (32 бита). Каждый из 32 битов имеет определенное назначение.

 

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

В общем случае в формате с плавающей точкой число представляется в виде произведения двух сомножителей:



,

где m – мантисса числа;

P – основание системы счисления;

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

Например, число 5,14 может быть записано в виде 0,514∙101 или 51,4∙10-1 и т. д.

Представим алгоритм получения тридцатидвухразрядного двоичного кода вещественного числа.

1. Переводим число в двоичную систему счисления.

Пр. Число –13,37510 в двоичной СС: 1101,0112.

2. Выполняем нормализацию числа.

Нормализованная запись отличного от нуля вещественного числа – это запись вида , где р – порядок, целое число (положительное, отрицательное или ноль); m – мантисса, причем справедливо соотношение: .

Нормализация состоит в смещении дробной запятой влево или вправо таким образом, чтобы в целой части числа всегда стояла единица, при этом изменяется значение числа. Компенсация этого изменения достигается умножением мантиссы на где р – количество разрядов, на которое была смещена запятая.

В нормализованной форме принято мантиссу записывать в двоичной системе счисления, а порядок и само число р – в десятичной.

Пр. В нормализованном виде экспоненциальная запись числа –13,37510 имеет вид: .

3. Выполняем приведение мантиссы.

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

Пр. Приведенная мантисса равна 101011.

4. Вычисляем характеристику числа.

Характеристика числа равна порядку этого числа, увеличенному на 127. Полученное число перевести в двоичную систему счисления.

Пр. Характеристика заданного числа 3 + 127 = 130. В двоичной системе счисления характеристика имеет вид: 10000010.

 

5. Заполняем знаковый разряд числа.

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

Пр. Внутреннее двоичное представление вещественного числа –13,37510 имеет вид: 1 10000010 10101100000000000000000, а шестнадцатеричное – С1 56 00 00.



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


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


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

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

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


 


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

 
 

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

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