русс | укр

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

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

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

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


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

Вещественные типы.


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


Вещественные числа - это числа с плавающей запятой. Широкое их использование характерно для инженерно-технических задач. Тем не менее процессоры 8086, 8088 и другие, на которых построены ПЭВМ малой производительности, не имеют в своем составе операций над числами с плавающей запятой. Такие операции выполняются программным путем. Это означает, что транслятор включает в программу пользователя подпрограммы арифметических операций над числами с плавающей запятой. Тогда вместо выполнения, например, одной машинной команды сложения производится обращение к подпрограмме и выполняется целая группа машинных команд.

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

 

При отсутствии сопроцессора реализуется только один вещественный тип - тип real; при наличии сопроцессора реализуются также типы single, double, extended, comp. Вещественные типы отличаются друг от друга количеством разрядов, отводимых для представления мантиссы и порядка. В частности, переменная типа single имеет длину 4 байта, из них три байта - мантисса и один байт - характеристика; для переменной типа double отводится 8 байт памяти и т.д. В дальнейшем при разработке программ в качестве вещественного типа будет рассматриваться только тип real. Информация о других вещественных типах представлена в разделе «Использование сопроцессора».

 

Значение числа типа real в десятичном представлении может изменяться в диапазоне от до . Размер мантиссы такого числа обеспечивает получение 11 – 12 значащих десятичных цифр.

 

Для вещественных типов определены четыре арифметические операции:



+ сложение ;

- вычитание ;

* умножение ;

/ деление .

 

Результатом операций "+", "-", "*" является вещественное значение, если хотя бы один из операндов имеет вещественный тип. Операция "/" дает вещественное значение и в том случае, когда оба ее операнда относятся к целочисленным типам.

Например, 12 / 5 = 2.4 , в то время как 12 div 5 = 2 .

 

Стандартные функции abs(x) и sqr(x) дают вещественный результат, если их аргумент x имеет тип real. Вне зависимости от типа аргумента следующие стандартные функции всегда дают вещественный результат: sin(x), cos(x), ln(x), exp(x), arctan(x), sqrt(x) (корень квадратный).

Вещественный результат при вещественном аргументе дают также функции:

Int(x) - целая часть вещественного значения x;

Frac(x) - дробная часть вещественного значения x (Frac(x) = x - Int(x)).

 

Отсутствующие в Турбо Паскале функции arcsin(x), arccos(x), lg(x) могут быть определены следующим образом:

 

а)

 

Запись на Паскале:

 

If abs(x)=1 then

arcsin:=pi/2

Else

arcsin:=arctan(x/sqrt(1-sqr(x)));

 

б)

 

На языке Паскаль:

 

If x=0 then

arccos:=pi/2

Else

arccos:=arctan(sqrt(1-sqr(x))/x)+pi*byte(x<0);

 

В выражении byte(x<0) используется аппарат приведения типов, который будет рассмотрен позже. В данном случае

byte(x<0) = 1, если x < 0; byte(x<0) = 0, если x ³ 0.

 

в) lg(x): ln(x)/ln(10).

 

Степенная функция для вещественного показателя степени вычисляется следующим образом:

Þ exp(b * ln(a))

 



<== предыдущая лекция | следующая лекция ==>
Целые типы данных. | С Т Р У К Т У Р А П А С К А Л Ь - П Р О Г Р А М М Ы


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


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

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

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


 


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

 
 

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

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