我想知道double型不是16个有效数字么,为何这里只有俩个
答案:3 悬赏:20 手机版
解决时间 2021-11-22 15:54
- 提问者网友:那叫心脏的地方装的都是你
- 2021-11-22 02:54
我想知道double型不是16个有效数字么,为何这里只有俩个
最佳答案
- 五星知识达人网友:空山清雨
- 2021-11-22 04:34
是的,在编译器上输出是1.000000,书上估计是省略了
追问等等,float型是7位,double是16位,怎么回事,计算机怎么显示的是7位,追答这跟他的机制有关系,浮点数中分三部分,尾数符号为,阶码和尾数,尾数即是他的有效位数,学到计算机组成原理的时候会有讲。追问嗯,好的,那现在我想确定一下float个doubke型在实际答题中要保留的有效数字是多少位追答默认的情况是6位小数,但是如果输出格式有说明的话就另当别论了,比如printf("%1.5f", a);这样的就明确保留小数点后5位,.后面的数字是小数的位数。追问嗯,thanks
追问等等,float型是7位,double是16位,怎么回事,计算机怎么显示的是7位,追答这跟他的机制有关系,浮点数中分三部分,尾数符号为,阶码和尾数,尾数即是他的有效位数,学到计算机组成原理的时候会有讲。追问嗯,好的,那现在我想确定一下float个doubke型在实际答题中要保留的有效数字是多少位追答默认的情况是6位小数,但是如果输出格式有说明的话就另当别论了,比如printf("%1.5f", a);这样的就明确保留小数点后5位,.后面的数字是小数的位数。追问嗯,thanks
全部回答
- 1楼网友:荒野風
- 2021-11-22 07:11
10%3结果为余1 强制转换之后默认会删除多余的零 除非你规定输出格式追问删除多余的只留一个么?追答恩 可以使用格式化输出比如规定小数位数来达到要求效果 默认就是只留一个追问float,longdouble也是么
- 2楼网友:白昼之月
- 2021-11-22 05:37
# include
int main()
{
printf("%lf ",(double)(10%3));
return 0;
}
直接输出给你看一下哈
人家书上这样写,只是为了你看着方便,就别难为人了。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯