5 Lexical conventions [lex]

5.13 Literals [lex.literal]

5.13.4 Floating literals [lex.fcon]

floating-literal:
	decimal-floating-literal
	hexadecimal-floating-literal
decimal-floating-literal:
	fractional-constant exponent-partopt floating-suffixopt
	digit-sequence exponent-part floating-suffixopt
hexadecimal-floating-literal:
	hexadecimal-prefix hexadecimal-fractional-constant binary-exponent-part floating-suffixopt
	hexadecimal-prefix hexadecimal-digit-sequence binary-exponent-part floating-suffixopt
fractional-constant:
	digit-sequenceopt . digit-sequence
	digit-sequence .
hexadecimal-fractional-constant:
	hexadecimal-digit-sequenceopt . hexadecimal-digit-sequence
	hexadecimal-digit-sequence .
exponent-part:
	e signopt digit-sequence
	E signopt digit-sequence
binary-exponent-part:
	p signopt digit-sequence
	P signopt digit-sequence
sign: one of
	+  -
digit-sequence:
	digit
	digit-sequence 'opt digit
floating-suffix: one of
	f  l  F  L

Плавающий буквальным состоит из необязательного префикса указав основание, целую часть, точку базисной, фракцию , часть, в , , или , необязательно целочисленный показатель степень, и необязательный суффикс типа. Целая и дробная части состоят из последовательности десятичных (основание десять) цифр, если нет префикса, или шестнадцатеричных (основание шестнадцати) цифр, если префиксом является или . Плавающий литерал - это a в первом случае и a во втором. Необязательное разделение одинарных кавычек в или игнорируется при определении его значения. [ Плавающие литералы и имеют одинаковое значение. ] Можно опустить целую или дробную часть (но не обе сразу). В десятичном литерале с плавающей запятой можно опустить либо точку счисления, либо букву, либо и показатель степени (но не оба сразу). В шестнадцатеричном литерале с плавающей запятой можно опустить точку счисления (но не показатель степени). Целая часть, необязательная точка счисления и необязательная дробная часть образуют плавающий литерал. В десятичном литерале с плавающей запятой показатель степени, если он присутствует, указывает степень 10, с помощью которой следует масштабировать мантиссу. В шестнадцатеричном литерале с плавающей запятой показатель степени указывает степень двойки, на которую следует масштабировать мантиссу. [ Плавающие литералы и имеют одинаковое значение. ] Если масштабированное значение находится в диапазоне представляемых значений для своего типа, результатом является масштабированное значение, если оно представимо, иначе большее или меньшее представляемое значение, ближайшее к масштабируемому значению, выбранное способом, определяемым реализацией. Тип плавающего литерала не указан явно суффиксом. Суффиксы и укажите , суффиксы и укажите . Если масштабируемое значение не входит в диапазон представимых значений для его типа, программа имеет неправильный формат. e E p P 0x 0X decimal floating literal hexadecimal floating literal digit-sequencehexadecimal-digit-sequenceExample: 1.602'176'565e-19 1.602176565e-19 end example e E significand Example: 49.625 0xC.68p+2 end example double f F float l L long double