[lex.fcon] - 【词法.浮点常量】

类别:编程语言 点击:0 评论:0 推荐:
请不要转载本文;请不要以任何形式重新出版,发布本文;请在下载本文 24 小时内将其删除;禁止将本文用于商业目的。 2 Lexical conventions [lex] 2.13 Literals [lex.literal] 2.13.3 Floating literals [lex.fcon]

 

2 词法约定 【词法】 2.13 文字量 【词法.文字量】 2.13.3 浮点文字量 【词法.浮点常量】

 

    floating-literal:
        fractional-constant exponent-partopt floating-suffixopt
        digit-sequence exponent-part floating-suffixopt

    fractional-constant:
        digit-sequenceopt . digit-sequence
        digit-sequence .

    exponent-part:
        e signopt digit-sequence
        E signopt digit-sequence

    sign: one of
        + -

    digit-sequence:
        digit
        digit-sequence digit

    floating-suffix: one of
        f l F L

 

    浮点-文字量:
        小数-常量 指数-部分opt 浮点-后缀opt
        数字-序列 指数-部分 浮点-后缀opt

    小数-常量:
        数字-序列opt . 数字-序列
        数字-序列 .

    指数-部分:
        e 符号opt 数字-序列
        E 符号opt 数字-序列

    符号: 下列之一
        + -

    数字-序列:
        数字
        数字-序列 数字

    浮点-后缀: 下列之一
        f l F L

 

A floating literal consists of an integer part, a decimal point, a fraction part, an e or E, an optionally signed integer exponent, and an optional type suffix. The integer and fraction parts both consist of a sequence of decimal (base ten) digits. Either the integer part or the fraction part (not both) can be omitted; either the decimal point or the letter e (or E) and the exponent (not both) can be omitted. The integer part, the optional decimal point and the optional fraction part form the significant part of the floating literal. The exponent, if present, indicates the power of 10 by which the significant part is to be scaled. If the scaled value is in the range of representable values for its type, the result is the scaled value if representable, else the larger or smaller representable value nearest the scaled value, chosen in an implementation-defined manner. The type of a floating literal is double unless explicitly specified by a suffix. The suffixes f and F specify float, the suffixes l and L specify long double. If the scaled value is not in the range of representable values for its type, the program is ill-formed.

 

浮点文字量由整数部分,小数点,小数部分,e 或 E,可选的有符号整数指数,以及可选的类型后缀组成。整数和小数部分都由十进制数字序列组成。 整数和小数部分都可以(但不可以同时)省略;小数点和字母 e 或 E 都可以(但不可以同时)省略。整数部分,可选的小数点,以及可选的小数部分组成浮点文字量的有效部分。如果存在指数部分,则其代表有效部分所乘的,10 的乘方幂的指数。如果总乘积在文字量的类型所表达的值域内,则文字量的结果为,如果此乘积可被表示则为此乘积,否则按照实现定义的方式选择大于或小于此乘积结果最接近的可表示值。如果没指定后缀,浮点文字量的类型是 double。后缀 f 和 F 指定 float,后缀 l 和 L 指定 long double。如果乘积值不在其表达的值域内,则程序就是病态形式的。

 

PREV [lex.ccon] | NEXT [lex.string] 上一页 【词法.字符常量】 | 下一页 【词法.字符串】

本文地址:http://com.8s8s.com/it/it26000.htm