Числовые типы

  • docx
  • 06.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

0.1. Числовые типы
Иконка файла материала 69.docx

0.1. Числовые типы

Целочисленные типы позволяют переменной принимать значения целых чисел согласно следующей таблице:

Тип

Диапазон значений

Сколько байтов занимает одно значение

Byte

0..255

1

ShortInt

-128..127

1

Word

0..65535

2

Integer

-32768..32767

2

LongInt

-2147483648..2147483647

4

Зачем нужны Byte и ShortInt, если есть Integer? Они занимают меньше места в памяти. Если, например, ваша переменная по смыслу задачи обозначает минуты (то есть целое число в диапазоне от 0 до 60), то полный смысл придать ей тип Byte.

 

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

Тип

Примерный диапазон значений

Точность

(значащих цифр)

Сколько байтов занимает одно значение

Real

2.9´10-39 - 1.7´1038

11-12

6

Single

1.5´10-45 - 3.4´1038

7-8

4

Double

5´10-324 - 1.7´10308

15-16

8

Extended

3.4´10-4932  - 1.1´104932

19-20

10

Comp [1]

примерно от -1019 до 1019

 

8

Типы Single, Double, Extended и Comp могут потребовать для своей работы некоторой настройки Паскаля.

Следует помнить, что дробные числа (например, 1/3) компьютер хранит примерно в таком виде: 0,3333333333333. Вы знаете, что такое представление дробных чисел приблизительно. Чтобы точно представить 1/3, компьютеру понадобилось бы бесконечное количество троек, но память компьютера ограничена. Ячейка под переменную типа Real позволяет хранить всего 11-12 таких троек. Эту приблизительность нужно иметь в виду, когда вы многократно выполняете арифметические действия над переменными вещественных типов. При определенном сочетании чисел и действий вы можете немедленно получить совершенно неправильный результат. Попробуйте, например, выполнить такую программу:

VAR a,b,y    : Real;

BEGIN

     a:=55555555555.1;   b:=55555555555.0;

     y:=a-b;

     WriteLn (y   :30:3)

END.

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


 

Скачано с www.znanio.ru



[1] Тип Comp, несмотря на то, что является вещественным, принимает значения только целых чисел.