Представление вещественных чисел на ЭВМ.

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

Привычная нам форма записи чисел, например 3.1415 , - это запись десятичных чисел с фиксированной точкой. Однако удобнее при составлении программ пользоваться записью в форме с плавающей точкой. Десятичное число D в этой форме записи имеет вид

Представление вещественных чисел на ЭВМ. - student2.ru

где m –мантисса числа, n – его порядок. Мантиссу числа записывают в нормализованной форме

Представление вещественных чисел на ЭВМ. - student2.ru

так, чтобы Представление вещественных чисел на ЭВМ. - student2.ru , где Представление вещественных чисел на ЭВМ. - student2.ru – разрядность числа. Например,

Представление вещественных чисел на ЭВМ. - student2.ru

В языке Turbo Pascal при записи чисел с фиксированной точкой для обозначения «умножить на десять в степени» вводится буква Е, например

Представление вещественных чисел на ЭВМ. - student2.ru

Цифры, предшествующие букве Е, образуют мантиссу числа, а цифры, следующие за ней – порядок.

Компьютер из-за ограниченности его разрядной сетки оперирует лишь с конечным подмножеством действительных чисел. Оно определяется разрядностью Представление вещественных чисел на ЭВМ. - student2.ru , а также границами порядка числа Представление вещественных чисел на ЭВМ. - student2.ru Границы порядка Представление вещественных чисел на ЭВМ. - student2.ru определяют ограниченность действительных чисел по величине, а разрядность Представление вещественных чисел на ЭВМ. - student2.ru - дискретность их распределения на отрезке числовой оси.

В Turbo Pascal имеется пять стандартных вещественных типов, характеристики которых приведены в таблице:

Таблица 4.1

Тип диапазон число значащих цифр формат (байт)

real 2.9E-39..1.7E38 11..12 6

single 1.5E-45..3.4E38 7..8 4

double 5.0E-324..1.7E308 15..16 8

extended 3.4E-4932..1.1E4932 19..20 10

comp -2 H63..2H63 19-20 8

Здесь Представление вещественных чисел на ЭВМ. - student2.ru .

Оператор присваивания

Переменная - это такой "ящичек" с именем, в котором может храниться некое значение. Имя у переменной постоянно и неизменно, значение же может меняться.

Переменную можно изменять при помощи операции присваивания:

< переменная > := < выражение > ;

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

Важно, чтобы все переменные, стоящие справа от знака оператора присваивания ( := ) были определены. При попытке использовать в вычислениях неопределенную переменную, работа программы может быть прервана.

Что происходит со старыми значениями переменной, когда ей присваивается новое? Оно просто стирается. Например, запись операторов x :=2; x := x+1; увеличивает значение переменной х на единицу. Выражение x := x + 1;-не уравнение. Если рассматривать эту строку как математическое уравнение, оно не имеет решений. На самом деле тут написано:

1) "взять значение переменной ИКС"

2) "прибавить к нему 1"

3) "положить новое значение в переменную ИКС"

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

Алгебраические выражения.

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

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

Таблица 4.2

abs(x) – модуль аргумента х;

sqr(x) – квадрат аргумента;

sqrt(x)- квадратный корень аргумента;

sin(x) – функция синус;

cos(x) – функция косинус;

arctan(x) – функция арктангенса;

exp(x) – функция экспоненты;

ln(x) – функция натурального логарифма;

frac(x) – дробная часть числа;

int(x) – целая часть числа

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

Представление вещественных чисел на ЭВМ. - student2.ru

arccos(x) = Представление вещественных чисел на ЭВМ. - student2.ru / 2 – arcsin(x);

arcctg(x) = Представление вещественных чисел на ЭВМ. - student2.ru / 2 – arctg(x);

Представление вещественных чисел на ЭВМ. - student2.ru

Представление вещественных чисел на ЭВМ. - student2.ru

Порядок выполнения операций определяется их приоритетом: операции умножения и деления ( *, / ) выполняются перед операциями сложения и вычитания ( +, - ). Операции одинакового приоритета выполняются в порядке их написания слева направо. Выражение, заключенное в скобки, вычисляется в первую очередь. Таким образом, скобки позволяют изменять порядок выполнения операций. К примеру, (2 + 3) * 3=15, но 2 + 3*3=11.

Нельзя размещать два знака операций рядом. Знак минус может употребляется для изображения величины, противоположенной данной: -х, -(f+d*s) и т.п.

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



Наши рекомендации