C语言中long型转换成float型怎么转换,假如数字较大时

 我来答
风若远去何人留
2017-09-30 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部
在C语言中,long 型在32位下,长度为4字节,表示范围为-2147483648~2147483647
在64位下为8字节,范围为-9223372036854775808~9223372036854775807
也就是9.2E18
而float 范围是 -3.4E-38 和 3.4E+38
明显,不论哪种long数据转为float的时候都不存在溢出的情况,唯一问题就是精度丢失。
所以 long转为float就是按值转换,通过降低精度的方式,把值赋值给float。
称怡屈从冬
2020-03-08 · TA获得超过4055个赞
知道大有可为答主
回答量:3195
采纳率:33%
帮助的人:184万
展开全部
直接用(float)a转换,只是精度会有下降,在32位系统中float有1个符号位+8个2的幂次位+23个精度位=32位,long有1个符号位+31个精度位=32位,有效数字会有损失。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式