Точность и диапазон вещественных чисел различных типов
Теперь поговорим о точности и диапазоне чисел вещественного типа. Под точностью понимают число значащих цифр (см. соответствующий столбец в таблице №5). В мантиссе не должно быть цифр больше, чем это возможно для данного типа. В противном случае число будет округлено. Например:
program Single_Demo;
var d : single; { вещественный тип с точностью 7-8 цифр }
begin
d:=9.87654321e5;{попытка записать число с мантиссой из 9 цифр}
writeln (d);
end.
Эта программа печатает на экран:
9.87654312500000E+0005
На первый взгляд кажется, что запомнено достаточно много цифр, но при детальном анализе выясняется, что точно записаны лишь 7 первых цифр. Если вместо типа single использовать тип real, то получим следующий результат:
9.87654321000099E+0005
Как видите, точность первых 11 цифр обеспечена (такую точность и гарантирует тип real), однако та небольшая погрешность, которая возникает в результате «машинного округления» может немного повлиять на точность результата. Для точных вычислений лучше всего, конечно, использовать тип double или extended. Они великолепно проходят этот небольшой тест:
9.87654321000000E+0005
Теперь поговорим о диапазоне возможных значений. В таблице указано, какое максимальное и минимальное положительное значение позволяет записать каждый тип. Другими словами – это допустимый диапазон порядка числа. При попытке сохранить значение больше максимального произойдет ошибка «Floating point overflow» - «переполнение в операции с плавающей точкой». При попытке сохранить значение меньше минимального4, появится так называемый «машинный нуль» – компьютер посчитает это значение равным нулю.
-
Тип comp
Об этом вещественном типе стоит поговорить особо… Дело в том, что этот тип по своей сути является целым, но с очень большим диапазоном значений. А именно:
от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807,
всего 18 446 744 073 709 551 615 возможных значений.
Посмотрите внимательно на последнее число! Именно столько зёрен пшеницы должен был выдать падишах Индии изобретателю шахмат по легенде. Изобретатель попросил за первую клетку шахматной доски одно зерно пшеницы, за вторую – две, за третью – четыре. И так далее: за каждую следующую – в два раза больше, чем за предыдущую. Падишах только посмеялся над столь мизерной просьбой, сказав: «Житницы мои не оскудеют! Завтра тебе вынесут твой мешок пшеницы». Однако такого количества зёрен не найдётся и на всей матушке-земле. Теперь я надеюсь вам ясно, что этого типа данных вполне хватит для практических целей. Кстати, именно из-за такого гигантского диапазона его и отнесли к вещественным типам.
-
Содержание
- Лекции по Turbo Pascal 7.0
- 1 Курс, «Информатика»
- Интегрированная среда Turbo Pascal 7.0
- Первый шаг
- Создание нового файла
- Набор и редактирование текста программы
- Клавиши перемещения курсора
- Клавиши для редактирования текста:
- Сохранение и открытие программ
- Запуск программы
- Завершение работы
- А теперь, когда вы уже знаете, как набирать и запускать программы на компьютере, начнём изучать язык паскаль.
- Первая программа
- Краткая история
- Что такое программа?
- Зарезервированные слова
- Переменные
- Константы
- Стандартные математические операции
- В информатике, как и в математике, на ноль делить нельзя!
- Оператор присваивания
- Пример программы
- Операторы ввода и вывода.
- Оператор ввода Readln
- Оператор вывода Write
- Самостоятельные задания
- Работа с цифрами
- Выделение цифр числа
- Конструирование числа по его цифрам
- Обобщение
- Самостоятельные задания
- Условный оператор
- Что такое условие?
- Укороченный вариант условного оператора
- Составной оператор
- Составные условия
- “Защита от дурака”
- Вложенные условные операторы
- Оператор выбора Case
- Самостоятельные задания
- Стандартные типы переменных
- Общий обзор стандартных типов.
- Целые типы
- Вещественные типы
- Способ записи вещественных чисел
- Вывод на экран вещественных чисел
- Точность и диапазон вещественных чисел различных типов
- Вещественные функции
- Линейная запись математических выражений
- Логический тип
- Символьные типы
- Стандартные функции для работы со строками
- Стандартные функции для типа char
- Подпрограммы
- Зачем нужны подпрограммы?
- Процедуры
- Аргументы процедуры
- Результаты процедуры
- Функции
- Самостоятельные задания
- Цикл For
- Руками не трогать!
- Нахождение суммы
- Нахождение произведения
- Нахождение количества
- Цикл While ... Do
- Цикл Repeat ... Until
- 2.7. Самостоятельные задания
- Цикл в цикле
- Натуральные числа
- Делители чисел
- Самостоятельные задания.
- Простые числа
- Самостоятельные задания.
- Наибольший общий делитель двух чисел.
- Самостоятельные задания.
- Наименьшее общее кратное двух чисел
- Самостоятельные задания.
- Массивы
- Определение и примеры
- Операции с элементами массива
- Анализ информации в массиве
- Рекуррентные соотношения
- Самостоятельное задание
- Последовательность Фибоначчи
- Другие рекуррентные последовательности
- Оптимизация программ
- Задача про интеллигентного студента.
- Самостоятельные задания
- Оформление программ
- Понятие модуля
- Управление цветом
- Управление звуком
- Опрос клавиатуры
- Управление курсором.
- Дополнительные задачи и вопросы
- Теоретические вопросы
- Практические задачи
- Условия
- Ряды и рекуррентные последовательности
- Просмотр всех команд меню
- Команды меню File
- Команды меню Edit
- Команды меню Search
- Команды меню Run
- Команды меню Compile
- Команды меню Debug
- Команды меню Options
- Команды меню Window
- Команды меню Help
- Синтаксические ошибки
- Ошибки выполнения
- Логические ошибки
- Средства отладки
- Пошаговый режим работы программы
- Просмотр/изменение переменных
- Окно Watch
- 1. Теоретическая часть
- 1.1. Понятие алгоритма и его свойства.
- 1.2. Культура программирования
- 1.3. Устройство компьютера и его компоненты.
- 1.4. Информация
- 1.5. Логика
- 1.6. Системы счисления
- 1.7. Арифметические действия с двоичными числами
- 1.8. Информационные взаимодействия – коммуникации
- 1.9. Информационная революция
- 1.10. Компьютеры и информационное общество.
- 1.11. Польза и опасности компьютеризации.
- 1.12. Киберфобия.
- 1.13. Компьютеры и будущее
- 1.14. Понятие информационного моделирования.
- 2. Толковый словарик