Целочисленные типы позволяют переменной принимать значения целых чисел согласно следующей таблице:
Тип |
Диапазон значений |
Сколько байтов занимает одно значение |
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, несмотря на то, что является вещественным, принимает значения только целых чисел.
© ООО «Знанио»
С вами с 2009 года.