qiyue_wuyi 2022-03-16 10:07 采纳率: 100%
浏览 68
已结题

C++科学计数法显示范围

在小数情况下,科学计数法表现与整数情况下不同

#include<iostream>
using namespace std;
int main()
{
    float float_1 = 3e5;
cout << "float_1的值为" << float_1 << endl;
float float_2 = 3e-5;
    cout << "float_2的值为" << float_2 << endl;
    system("pause");
    return 0;
}

运行结果如下
float_1的值为300000
float_2的值为3e-05

预期结果如下
float_1的值为300000
float_2的值为0.00003

请问,C++默认表示有效数字不是6位吗?为何会出现0.00003被表示成3e-05?

  • 写回答

2条回答 默认 最新

  • 真相重于对错 2022-03-16 10:46
    关注

    因为3e-5其实并不是6位有效数字,因为10进制浮点数转为2进制时不能准确转换

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月16日
  • 创建了问题 3月16日

悬赏问题

  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常