永发信息网

c/c++中浮点型数据的有效位到底是指哪几位??

答案:5  悬赏:40  手机版
解决时间 2021-03-01 12:18
  • 提问者网友:箛茗
  • 2021-02-28 17:50
c/c++中浮点型数据的有效位到底是指哪几位??
最佳答案
  • 五星知识达人网友:洒脱疯子
  • 2021-02-28 19:13
在二进制科学表示法中,S=M*2^N 主要由三部分构成:符号位+阶码(N)+尾数(M)。对于float型数据,其二进制有32位,其中符号位1位,阶码8位,尾数23位;
31 30-23 22-0
符号位 阶码 尾数
全部回答
  • 1楼网友:轻熟杀无赦
  • 2021-02-28 22:23
看看 IEEE754 标准就明白了,这 23位二进制
  • 2楼网友:上分大魔王
  • 2021-02-28 21:46
= =位数是指全部的而不是只是小数点后面的
  • 3楼网友:低音帝王
  • 2021-02-28 21:12
最多能有7位有效数字,但只能保证6位完全正确。
  • 4楼网友:詩光轨車
  • 2021-02-28 19:53
C浮点型的输出默认(printf)是输出6位小数,即对于a=1.234567890123456789无论是double还是float都会输出1.234568
C++浮点型的输出(cout)默认是保留6位有效数字,即对于a=1.234567890123456789无论是double还是float都会输出1.23457
以上就可以解决double a=1.23456789 显示的是1.234568,还可以通过这个知道你是使用的printf,而不是cout
对于double a=1234567890123456789.000 显示的是123456789012345680.000这就是浮点数误差,无法避免
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯