Int、short、long int、char呢?输出时都什么范围?保留极为有效数字??
这个问题困然很久了,尤其是浮点数!哪位高手帮帮忙啊,谢谢了!
单精度 float 3.4 x 10^(-38)~ 3.4 x 10^(+38)
双精度double 1.7 x 10^(-308)~ 1.7 x 10^(+308)
长双精度 long double 1.7 x 10^(-308)~ 1.7 x 10^(+308)
这段太恐怖了,得要小数点后保留多少位啊,我们一般输出肯定没这么多位吧?
小数点保留多少位,三个要点.
第一,取决你是32位编译器还是64位编译器.
第二,取决你的编译器.虽然同时32位编译器,但是保留小数位数不一定相同.
第三,格式化输出的时候,用户自己控制.
除去用户自己控制之外,如果一个笔试题中输出一个浮点数,要你写出输出结果,那么输出的有效数字到底取多少位好呢?比如3.1415926,输出多少呢?
追答有效位别人都说了.单精度有效位6-7位
如果你一个是输出3.1415926 那么属于单精度的有效位内.
所以会完整输出.如果超过7位,那么就会"截断"7位后面的(可舍可入,并不一定是4舍5入)
如果不超过7位,除非用户指定,否则保留原来精度.
假设原来 3.14 直接格式化输出的话就是3.14
如果是3. 111222333
那么输出结果可能为 3.1112224 也可能为3.1112223
3.1112224,8位有效数字,多了点吧