您好、欢迎来到现金彩票网!
当前位置:秒速快三开奖 > 双精度 >

单精度数和双精度数

发布时间:2019-08-12 02:34 来源:未知 编辑:admin

  把3.5转换为单精度数和双精度数,是这样吗?单精度数3.500000,(因为单精度有效位数7位),那么双精度有效位数15——16位岂不是3.000了?可是我看有些双精度没保留那么多...

  把3.5转换为单精度数和双精度数,是这样吗?单精度数3.500000,(因为单精度有效位数7位),那么双精度有效位数15——16位岂不是3.000了?可是我看有些双精度没保留那么多啊

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部计算机中浮点数的存储是不精确的,双精度比单精度更精确而已。所以有关浮点数的运算都是近似的,如输出1.0-0.9的结果不是0.1,而是0.98。只有整数的运算才是精确的结果。所以3.5在计算机中存的不是3.5后加0.而是像上面那样的数字更多追问追答追问那么3.5转化为双精度是3.000吗?追答你是要理论还是实际,你写这样一条语句double c = (1.0 - 0.9);然后用VS,VC开发工具去debug,看看c的值是什么,具体是哪个近似值我不太清楚,但肯定不是3.000,需要我去debug的你再追问追问若是有一题就是需要你把3.5转化为双精度的数该怎么做追答当然程序中你可以使用强制转换(double)3.5;这样,C++中还有其他安全地类型转换运算符,具体我忘记了。但有这点需要注意,3.5在程序中默认就是double类型了,你可以这样验证:fun(float, double),当你传3.5进去fun(3.5, 3.5);第二个参数不会报错,第一个参数会报错,因为你不使用强制转换不能将double转为float,由此可见3.5就是double类型,也就是双精度,不知道你要怎么转追问

  你运行上面的程序就可以看到数据的阶段和四舍五入了,然后小数位数不足他就补0.

  所以3.5的精度(小数位数还不够)还不足以影响到float和double的转换的正确性。

  我也不知道说清楚了没,还有什么不懂你在问吧,如果我能解答的话。追问就一个问题,3.5强制转化为单精度和双精度最后结果到底是多少?不用解释很多,只要结果追答3.50000

  因为你用f%格式化输出,所以c的输出也是3.500000追问我要的就是这个,不过第二个双精度有效位数只能是15——16位,你怎么会出现了十七位。那个要是只是坐在本子不涉及电脑手写的题目。他如果出把3.5强制转化为单精度和双精度我只要写这两个就行了啊追答3.5000000

  float 和double类型准确来说并不是一个准确的数 都是转换为2进制

http://cellmall.net/shuangjingdu/465.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有