Пространства имён
Варианты
Действия

floating point literal

Материал из cppreference.com
< cpp‎ | language

 
 
Язык С++
Общие темы
Управление программой
Операторы условного выполнения
Операторы повторения
Операторы перехода
Функции
объявление функции
объявление лямбда-функции
шаблон функции
спецификатор inline
спецификаторы исключений (устарело)
спецификатор noexcept (C++11)
Исключения
Пространства имён
объявление пространства имён
псевдонимы пространства имён
Типы
спецификатор decltype (C++11)
Спецификаторы
cv-спецификаторы
спецификаторы продолжительности хранения
спецификатор constexpr (C++11)
спецификатор auto (C++11)
спецификатор alignas (C++11)
Инициализация
Литералы
Выражения
Утилиты
Типы
typedef-объявление
объявление псевдонима типа (C++11)
атрибуты (C++11)
Приведения типов
неявные преобразования
const_cast-преобразование
static_cast-преобразование
dynamic_cast-преобразование
reinterpret_cast-преобразование
C-подобное и функциональное приведение типов
Выделение памяти
Классы
Особые свойства классовых функций
Специальные функции-члены
Шаблоны
шаблон класса
шаблон функции
специализация шаблона
упакованные параметры (C++11)
Разное
Ассемблерные вставки
 
Плавающей точкой литерал определяет константу времени компиляции, значение которого указано в исходном файле.
Оригинал:
Floating point literal defines a compile-time constant whose value is specified in the source file.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Синтаксис

Плавающей точкой литералы имеют два синтаксиса. Первый из них состоит из следующих частей:
Оригинал:
A floating-point literals have two syntaxes. The first one consists of the following parts:
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
  • непустая последовательность десятичных цифр, содержащую символ десятичной точки (определяется значительным)
    Оригинал:
    nonempty sequence of decimal digits containing a decimal point character (defines significant)
    Текст был переведён автоматически через Google Translate.
    Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
  • (необязательно) e или E затем с дополнительным минусом или плюсом и непустая последовательность десятичных цифр (определяет показатель степени)
    Оригинал:
    (необязательно) e or E followed with optional minus or plus sign and nonempty sequence of decimal digits (defines exponent)
    Текст был переведён автоматически через Google Translate.
    Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
  • (необязательно) спецификатор суффикс типа l, f, L или F
    Оригинал:
    (необязательно) a suffix type specifier as a l, f, L or F
    Текст был переведён автоматически через Google Translate.
    Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вторая состоит из следующих частей:
Оригинал:
The second one consists of the following parts:
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
  • непустая последовательность десятичных цифр (определяется значительным)
    Оригинал:
    nonempty sequence of decimal digits (defines significant)
    Текст был переведён автоматически через Google Translate.
    Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
  • e или E затем с дополнительным минусом или плюсом и непустая последовательность десятичных цифр (определяет показатель степени)
    Оригинал:
    e or E followed with optional minus or plus sign and nonempty sequence of decimal digits (defines exponent)
    Текст был переведён автоматически через Google Translate.
    Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
  • (необязательно) спецификатор суффикс типа l, f, L или F
    Оригинал:
    (необязательно) a suffix type specifier as a l, f, L or F
    Текст был переведён автоматически через Google Translate.
    Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Суффикс спецификатор типа определяет фактический тип с плавающей точкой буквально
Оригинал:
The suffix type specifier defines the actual type of the floating-point literal:
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
  • (Без суффикса) определяет double
    Оригинал:
    (no suffix) defines double
    Текст был переведён автоматически через Google Translate.
    Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
  • f F определяет float
    Оригинал:
    f F defines float
    Текст был переведён автоматически через Google Translate.
    Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
  • l L определяет long double
    Оригинал:
    l L defines long double
    Текст был переведён автоматически через Google Translate.
    Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Объяснение

Десятичное используется научная нотация, это означает, что показатель сила 10, на который существенным является multiplied.
Оригинал:
A decimal scientific notation is used, meaning that the exponent is the power of 10 by which the significant is multiplied.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Математический смысл 123e4 является 123 × 10 4 </ SUP>
Оригинал:
The mathematical meaning of 123e4 is 123×104
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
</div>

[править] Пример

std::cout << 123.456e-67 << '\n'
          << .1E4f       << '\n'
          << 58.         << '\n'
          << 4e2         << '\n';

Вывод:

1.23456e-65
1000
58
400