Редактирование: Языки программирования, 06 лекция (от 21 сентября)
Материал из eSyr's wiki.
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 59: | Строка 59: | ||
|- | |- | ||
![[Java]] | ![[Java]] | ||
- | | | + | |T(exp) |
|} | |} | ||
Строка 73: | Строка 73: | ||
В '''C''' и '''С++''' не были зафиксированы размеры, так как в это время было разнообразие различных архитектур. При фиксировании int уменьшается эффективность. K&R C появился в [[1972]] году. | В '''C''' и '''С++''' не были зафиксированы размеры, так как в это время было разнообразие различных архитектур. При фиксировании int уменьшается эффективность. K&R C появился в [[1972]] году. | ||
+ | |||
+ | |||
===Тип данных=== | ===Тип данных=== | ||
Строка 120: | Строка 122: | ||
X=±Mantissa*Base<sup>Power</sup> — представление с плавающей точкой. | X=±Mantissa*Base<sup>Power</sup> — представление с плавающей точкой. | ||
<p>Плюс — можно представлять и маленькие числа, и большие. Платим относительной точностью. </p> | <p>Плюс — можно представлять и маленькие числа, и большие. Платим относительной точностью. </p> | ||
- | Пусть 4 байта разбиты следующим образом: 1 бит знак, 23 мантисса, 8 степень. Такой формат числа с плавающей точкой стандартизован в '''IEEE 754'''. Стандарты IEEE активно внедряются, так как государство свой нос туда не суёт. Зафиксируем значение порядка равным 0. Можно представить от ½ до 1, и на нём | + | Пусть 4 байта разбиты следующим образом: 1 бит знак, 23 мантисса, 8 степень. Такой формат числа с плавающей точкой стандартизован в '''IEEE 754'''. Стандарты IEEE активно внедряются, так как государство свой нос туда не суёт. Зафиксируем значение порядка равным 0. Можно представить от ½ до 1, и на нём 223 чисел, при 1 от 1 до 2 тоже 223 чисел, и т. д. При каких значениях порядка дельта становится равной единице? При 23. 2<sup>23</sup> — чуть более 8000000 (8388608). |
Иногда нужна абсолютная точность вычислений, например, в финансах. C точки зрения вещественных вычисления Ada наиболее адекватный язык. Как решена проблема с управляемой точностью в плавающих типах: задание количества знаков после запятой. | Иногда нужна абсолютная точность вычислений, например, в финансах. C точки зрения вещественных вычисления Ada наиболее адекватный язык. Как решена проблема с управляемой точностью в плавающих типах: задание количества знаков после запятой. | ||
Строка 128: | Строка 130: | ||
- | <p>Модельные числа — представлены в виде плавающих чисел и обеспечивают соответствующую точность. Хранятся в виде знак, мантисса, порядок. Требуется [ | + | <p>Модельные числа — представлены в виде плавающих чисел и обеспечивают соответствующую точность. Хранятся в виде знак, мантисса, порядок. Требуется [log2(D)]+1 битов для D знаков, соответствующим образом подбирается порядок. Подбирается стандартный тип для обеспечения соотвующей точности. Если стандартного типа не было, то по стандарту [[1983]] года компилятор должен программно эмулировать работу с ними.</p> |
+ | |||
+ | |||
====Фиксированная точка==== | ====Фиксированная точка==== |