C++(2):浮点常量

目录

一、浮点常量的两种形式

二、语法规则

三、合法与非法示例分析

合法示例:

非法示例:

四、后缀指定类型

五、注意事项

六、总结表

七、常见错误及修正


一、浮点常量的两种形式

  1. 小数形式

    • 必须包含整数部分小数部分(或两者)。

    • 必须包含小数点 .

    • 示例

      3.14159    // 合法(整数+小数部分)
      .618      // 合法(等价于0.618,省略整数部分)
      42.       // 合法(等价于42.0,省略小数部分)
  2. 指数形式(科学计数法)

    • 必须包含指数部分(由 e 或 E 引入的带符号整数)。

    • 必须包含小数点 . 或整数/小数部分(或两者)。

    • 示例

      314159E-5L  // 合法(等价于314159 * 10^-5,L表示long double类型)
      2.5E3       // 合法(等价于2500.0)
      1e-4        // 合法(等价于0.0001)

二、语法规则

形式必需部分规则说明
小数形式整数部分  小数部分(至少一个)必须包含小数点 .,不可省略。
指数形式指数部分(e/E + 整数)小数点 . 或整数/小数部分必须存在其一。

三、合法与非法示例分析

合法示例
  1. 3.14159

    小数形式,包含整数部分 3 和小数部分 14159
  2. 314159E-5L

    指数形式,整数部分 314159,指数部分 E-5,后缀 L 表示 long double 类型。
非法示例
  1. 510E

    错误原因:指数部分不完整,缺少指数值(如 510E3 是合法的)。
  2. 210f

    错误原因:没有小数点或指数部分,210 是整型常量,后缀 f 只能用于浮点常量(应写为 210.0f)。
  3. .e55

    错误原因:小数点后没有小数部分,且指数部分前无有效数字(应写为 0.e55 或 .1e55)。

四、后缀指定类型

浮点常量可通过后缀指定具体类型:

后缀类型示例
无后缀double3.14
f/Ffloat3.14f2.5E3F
l/Llong double3.14L1e-5L

五、注意事项

  1. 负号问题
    负号 - 是运算符,非常量本身的一部分。例如:-3.14 等价于对 3.14 取负。

  2. 可读性建议

    • 显式写出小数点前后的数字(如 0.5 比 .5 更清晰)。

    • 避免混淆:1E3 比 1e3 更易读(两者等价)。

  3. 类型范围依赖实现
    floatdoublelong double 的精度和范围由编译器和平台决定。

  4. 十六进制浮点常量(C++17起)
    支持十六进制浮点表示,例如 0x1.2p3(等价于 (1 + 2/16) * 2^3 = 9.0),指数部分用 p 或 P 表示。


六、总结表

形式必需部分合法示例非法示例后缀规则
小数形式整数或小数部分(至少一个)3.14.57.210f.e55fFlL
指数形式指数部分(e/E + 整数)1e32.5E-2510Ee5同上

七、常见错误及修正

错误代码错误原因修正方案
510E缺少指数值510E3 或 510.0
210f整型常量无法直接加 f 后缀210.0f
.e55缺少有效数字0.1e55 或 .1e55

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易只轻松熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值