永发信息网

C++:能简单介绍一下float型与douale型吗?

答案:4  悬赏:0  手机版
解决时间 2021-04-06 06:23
  • 提问者网友:玫瑰园
  • 2021-04-05 23:28
C++:能简单介绍一下float型与douale型吗?
最佳答案
  • 五星知识达人网友:孤独入客枕
  • 2021-04-06 00:43
float与double的区别

单精度浮点数在机内占4个字节,用32位二进制描述。
双精度浮点数在机内占8个字节,用64位二进制描述。

浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。
数符占1位二进制,表示数的正负。
指数符占1位二进制,表示指数的正负。
尾数表示浮点数有效数字,0.xxxxxxx,但不存开头的0和点
指数存指数的有效数字。

指数占多少位,尾数占多少位,由计算机系统决定。
可能是数符加尾数占24位,指数符加指数占8位 -- float.
数符加尾数占48位,指数符加指数占16位 -- double.

知道了这四部分的占位,按二进制估计大小范围,再换算为十进制,就是你想知道的数值范围。

对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)
全部回答
  • 1楼网友:酒安江南
  • 2021-04-06 03:39
在c++中 是不区分的
明确知道的话用sizefo函数
  • 2楼网友:十年萤火照君眠
  • 2021-04-06 03:27
首先,二者都是浮点型,其实最大的问题就是操作系统为二者的内存分配不同,前者一般为四个字节,而后者一般为八个字节,为什么说一般呢?那是因为不同的编译器之间的差异而已,如果读者想确切知道自己的编译器分配给这两个类型的字节数,建议使用sizeof这个函数。
  • 3楼网友:蕴藏春秋
  • 2021-04-06 02:06
c/c++中float型的数据在内存中占4个字节double占8个字节,而且两个的精确度不同,float的有效数字约为6位,而double约为12位!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯