Что такое вещественная переменная

Что такое вещественная переменная

Или в экспоненциальной форме, например:

5.0000000000E + 00 = 5 * 10 0 = 5.0

5.0000000000E + 01 = 5 * 10 1 = 50.0

6.3710421431E + 03 = 6.3710421431 * 10 3 = 6371.0421431

2. Представление вещественных чисел в компьютере. Форматный вывод вещественных чисел

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

2.1. Представление вещественных чисел в компьютере

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

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

Рис. 1. Представление машинного числа в формате с плавающей точкой.

При выводе на экран дисплея вещественных чисел оператором Write (); индицируются числа в формате с плавающей точкой (экспоненциальная форма).

2.2. Форматный вывод вещественных чисел

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

Форматный вывод вещественных чисел определяет количество выводимых чисел, включая десятичную точку и количество чисел после десятичной точки.

Все необходимые инструкции для этого описываются в операторе Write (), например, Write ( c :5:2);, а это значит, что выводится переменная c в виде пяти цифровых символов, один из которых точка, две цифры выводится до десятичной токи и две после точки.

2.3. Арифметические операции над вещественными числами.

Источник

КОНЬЯКОВ.ру

Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная

22 Понятие и типы переменных в языках программирования высокого уровня

Значение каждого параметра храннения в опредленном участке памяти компьютера и может меняться в процессе выполнения алгоритма. Такой участок памяти ПК компьютера называется переменной.

Каждой переменной присваивается имя. С каждой переменной связан ее тип. С переменной можно выполнять следующие действия:
1) прочитать её текущее значение;
2) записать новое значение в переменную или как говорят присвоить новое значение переменной;

Запись нового значения переменной выполняется с помощью так называемого оператора присваивания. Имя_переменной = выражение; //здесь знак равенства это знак присвоения

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

Выражение в правой части может включать имя переменной в левой части. В этом случае при вычислении выражения используется старое значение переменной.

Например, с численными переменными возможны арифметические операции, с логическими — проверка, истино или ложно значение переменной, с символьными — сравнение, с табличными (или массивами) чтение или запись элемента таблицы с заданным индексом и т.п.

Переменные
-Логические
-Символьные
-Числовые
—Целые
—Вещественные
—Одинарной точности
—Двойной точности

Целочисленные переменные

Тип целое число является основным для любого алгоритмического языка. Символы представляются в компьютере целыми числами — их кодами в некоторой кодировке. Целая переменная в компьютере может хранить лишь ограниченное множество целых чисел в некотором интервале. В современном ПК под целую переменную отводится 8 байтов, т.е. 64 двоичных разряда. Она может хранить числа от нуля до 2 в 64-й степени минус 1. Таким образом максимальное число которое может храниться в целочисленной переменной, равно 18,446,744,073,709,551,615 (18 квинтиллионов 446 квадраллионов 744 триллиона 073 миллиарда 709 миллионов 551 тысача 615).

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

В языке С целым числам соответствуют типы int, char, bool

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

Вещественные переменные

Вещественные числа представляются в компьютере в так называемой экспоненциальной, или плавающей, форме. Вещественное число r имеет вид r= +- 2(в степени e) * m

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

Символьные переменные

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

Симолы представляются их целочисленными кодами в некоторой фиксированной кодировке. Кодировка определяется тремя параметрами:
1) диапазон значений кодов. например ASCII. стандартный код обмена информацией. от 0 до 127. требует 7 бит на символ. большинство современных кодировок имеют диапазон кодов от 0 до 255, т.е. 1 байт на символ. Unicode, — диапазон от 0 до 65535 — т.е. 2 байта (16 бит) на символ.
2) множеством изображаемых символов.
3) отображением множества кодов на множество символов. кодировки кои-8, cp-1251, итд.

В языке C++ для Unicode существует тип wchar_t в котором под каждый символ отводится 2 байта.

Логические переменные и выражения

Логический тип данных bool, реализуется 1 байтом
Логические или условные выражения используются в качестве условия в конструкциях ветвления «если… то… иначе… конец если» и цикла «пока».

Любая операция сравнения имеет два аргумента и вырабатывает логическое значение «истина» и «ложь» (true и false)

Источник

Типы переменных. Целые и вещественные переменные, представление целых и вещественных чисел в компьютере

Вещественные переменные

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

Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная

Представление числа состоит из трех элементов:

Несколько примеров представления вещественных чисел в плавающей форме:

Порядок равен единице, мантисса состоит из трех единиц, из которых в двоичном коде хранятся две: 1100. 0 ; смещенный порядок равен 128 для float и 1024 для double ;

При выполнении сложения двух положительных плавающих чисел происходят следующие действия:

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

Машинный эпсилон

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

Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная

Более того, для сложения не выполняется закон ассоциативности :

Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная

Действительно, пусть Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная— максимальное плавающее число среди чисел, удовлетворяющих условию

Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная

(приведенные выше рассуждения показывают, что такие числа существуют). Тогда

Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная

поскольку левая часть неравенства равна единице, а правая строго больше единицы (это следует из максимальности числа Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная).

Число Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменнаячасто называют машинным эпсилоном или, чуть менее корректно, машинным нулем, поскольку при прибавлении к единице оно ведет себя как ноль. Величина машинного эпсилона характеризует точность операций компьютера. Она примерно одинакова для всех современных компьютеров: большинство процессоров работают с восьмибайтовыми плавающими числами (тип double в Си), а арифметика плавающих чисел подчиняется строгим международным стандартам.

Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная

Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная

Приблизительно точность вычислений составляет 16 десятичных цифр. (Это также можно оценить следующим образом: 53 двоичных разряда составляют примерно 15.95 десятичных, поскольку Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная.)

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

Кроме потери точности, при операциях с вещественными числами могут происходить и другие неприятности:

Запись вещественных констант

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

Источник

Что такое вещественная переменная

Все, что необходимо начинающему и опытному программисту

Как представляются переменные вещественного типа в памяти компьютера

Вы познакомились с экспоненциальной формой представления числа. В ней можно выделить две части: мантиссу, то есть значащие цифры числа, и порядок — степень десятки (в общем случае это степень основания системы счисления, в которой записано данное число).
Ячейка памяти, выделенная для переменной вещественного типа, должна содержать следующие элементы: знак числа, знак порядка, значение порядка и значение мантиссы — естественно, все в двоичном представлении (рис. 2.7).

Что такое вещественная переменная. Смотреть фото Что такое вещественная переменная. Смотреть картинку Что такое вещественная переменная. Картинка про Что такое вещественная переменная. Фото Что такое вещественная переменная

Рис. 2.7. Распределение двоичных разрядов (бит) при хранении числа типа real

Порядок и знак порядка занимают вместе 8 бит и хранятся, вообще говоря, немного хитрее. Но это нам сейчас не важно.
Главное — понять принцип хранения чисел с плавающей точкой.

Таблица 2.2. Вещественные типы данных языка Паскаль

Формат (длина)
в байтах

Примерный диапазон
абсолютных значений

Количество значащих десятичных цифр

Как совместить переменные целого и вещественного типа

В программе могут одновременно встречаться переменные разных типов. Как их совместить?

Преобразование типов

Пример 2.7.
Одновременное использование вещественных и целых типов

При запуске программа выведет на экран следующее:

Еще раз уточним правила преобразования типов: для хранения данных типа integer используется 2 байт, а для real необходимо 6 байт. Это значит, что число типа integer можно поместить в ячейку типа real (целая часть будет равна этому числу, а дробная будет равна нулю). А вот число типа real в ячейку типа integer никак не поместится. Чтобы все-таки поместить его туда, нужно явно указать, что делать с дробной частью числа. Для этого прёдусмотрены функции trunc и round. Обе они возвращают результат типа integer.

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

Правила приоритета в выполняемых действиях
1. Действия над переменными, стоящими в скобках, выполняются в первую очередь.
2. После вычисления значений всех скобок вычисляются все функции.
3. После функций выполняются умножение и деление. Они имеют одинаковый приоритет.
4. Следующие по приоритету — сложение и вычитание.
5. Операции одинакового приоритета выполняются слева направо.

Действия над данными разных типов

Сведем воедино операции и функции по работе с вещественными и целыми величинами (табл. 2.3).

Поясним написанное в таблице. Мы разделили все функции/операции на 6 категорий:

Таблица 2.3.Операции и функции для типов integer и real

Источник

Урок 18. Вещественный тип данных

Урок из серии: «Язык программирования Паскаль»
На этом уроке мы заканчиваем знакомиться с простыми (скалярными) типами данных языка программирования Паскаль. Остался вещественный тип данных.
Данные вещественного (действительного) типа используются значительно чаще целого типа. Они необходимы в тех случаях, когда числовые значения могут содержать дробные части.

Описание данных вещественного типа

Например описания величин вещественного типа:

Константа вещественного типа может быть представлена в двух видах: числом с фиксированной и плавающей точкой.

Число с плавающей точкой имеет вид mEp, где m — мантисса, а p — порядок числа. В качестве m могут быть целые числа и действительные числа с фиксированной точкой, в качестве p — только целые числа. Как мантисса, так и порядок могут содержать знаки «+» и «-«.

Над данными вещественного типа определены следующие арифметические операции:
» + » — сложение;
» — » — вычитание;
» * » умножение;
» / » — деление.
Результат выполнения этих операций получается также вещественного типа.

Над данными вещественного типа определены следующие операции отношения:
» = » — равно;
» <> » — не равно;
» » — больше;
» = » — больше или равно (не меньше).

Операции отношения вырабатывают результат логического типа

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

Имя и параметрыДействие
abs(x)вычисление абсолютного значения Х
sqr(x)вычисление квадрата Х
sqrt(x)вычисление квадратного корня из Х
sin(x)вычисление синуса x
cos(x)вычисление косинуса Х
arctan(x)вычисление арктангенса Х
exp(x)вычисление е х
ln(x)вычисление натурального алгоритма x
trunc(x)вычисление целой части Х
round(x)округление Х в сторону ближайшего целого

Примечание. Аргумент функции следует за именем функции и заключается в круглые скобки. В тригонометрических функциях синуса и косинуса аргумент задается только в радианной мере угла.

Вывод данных вещественного типа

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

Изменить стандартную форму вывода можно, используя формат:

где х — величина вещественного типа (константа, переменная, выражение);

m — общее поле выводимого числа (включая знак числа, целую часть, точку и дробную часть);

n — поле дробной записи.

Пример 1. Напечатать таблицу значений функции y = sin(x) на отрезке [0,1] с шагом 0.1

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

Сравним два решения этой задачи, представленные ниже.

На первый взгляд, работа этих программ должна быть одинаковой, но, запустив программы, мы обнаружим, что первая программа выдает значения функции sin(x) для всех значений х от 0 до 0.9, а вторая программа — для всех значений х от 0 до 1.

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

с заданной точностью Е.

Нужная точность считается полученной, если очередное слагаемое оказалось по модулю меньше, чем данное малое положительное число Е (это и все последующие слагаемые учитывать не надо).

y — сумма ряда;
e — заданная точность вычислений
sl — очередное слогаемое;
st — степень;

z — переменная, отвечающая за знак.

Программа должна вычислять очередное слагаемое х n /n и прибавлять его к сумме, полученной на предыдущем этапе.

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

Итак, решение будет выглядеть следующим образом:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *