Согласие на обработку персональных данных.



04.11.2017
Новые видео и статья Функция Odd.

29.10.2017
Новые видео и статья Функция Low.

23.10.2017
Новая задача Даны натуральные числа от 1 до 33.

22.10.2017
Добавлен раздел Статьи по С/С++.

03.10.2017
Новая книга 1001 вопрос начинающего программиста.

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

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

Не всегда при каких-либо вычислениях удаётся обойтись только целыми числами. Например, если вы пишите бухгалтерскую программу, то вам придётся считать не только рубли, но и копейки. То есть сумма будет иметь вид ррр,кк, где ррр - это рубли, а кк - копейки, то есть дробная часть числа.

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

3.14
1.5
1000.55

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

Вещественные типы данных Free Pascal перечислены в таблице 13.3.

Таблица 13.3. Вещественные типы данных Free Pascal (Lazarus).

Тип Размер, байт Значащие цифры Диапазон значений
Real 4 или 8 ??? Определяется операционной системой
Single 4 7-8 -1.5 * 1045 … 3.4 * 1038
Double 8 15-16 -5.0 * 10324 … 1.7 * 10308
Extended 10 19-20 -1.9 * 104932 … 1.1 * 104932
Comp 8 19-20 (-2 * 1064 + 1)… (2 * 1063 - 1)
Currency 8 19-20 -922337203685477.5808… 922337203685477.5807

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

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

Если мы попробуем вывести диапазон значений вещественного типа, как мы это делали с порядковыми типами, например, так

Writeln('Real : ', Low(Real), '..', High(real));

то ничего у нас не получится - компилятор выдаст ошибку. Это опять же связано со сложностью работы с вещественными числами. Вдаваться в подробности не буду. Пока нам это не надо.

Листинг 13.6. Вещественные типы данных.
program ve;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes
  { you can add units after this };

var  xr : real;
    xs : single;
    xd : double;
    xe : extended;
    xc : comp;
    xm : currency;

begin
  Writeln('Real     : ', xr);
  Writeln('Single   : ', xs);
  Writeln('Double   : ', xd);
  Writeln('Extended : ', xe);
  Writeln('Comp     : ', xc);
  Writeln('Currency : ', xm);

  Readln;
end.
Домашнее задание:

Создайте программу, которая приведена в листинге 13.6. Откомпилируйте программу и запустите её. Попробуйте догадаться, почему программа выводит строки с разным содержимым.


Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика