c / c++ 整数除法 保留小数及浮点型的比较

目录

整数除法获取float类型结果

float类型比较


整数除法获取float类型结果

        很多时候我们在c / c++中都会遇到除法计算,并想获取一个float 类型的结果。但是在很多平台上假如直接进行下面的计算(下面的语言是c++):

uint32_t s1Data = 1, s2Data = 10, s3Data = 3, s4Data = 4;
float res = (s1Data + s2Data) / (s3Data +s4Data);

std::cout << "res "  << static_cast<float>(res) << std::endl;

        这时我们并不会获得我们想要的floa类型的结果。

        如果想获得floa类型的结果,需要在float计算的前面加上“1.0 *”:

float fRes = 1.0 * (s1Data + s2Data) / (s3Data +s4Data);

        然后我们来看一下对应的计算及结果:

        那么我们来回想一下为什么会出现这样的结果:

        首先我们来回忆一下c / c++中的整数运算:/

         可以看到,整数中的 “/” 将会返回除法运算结果中的整数部分。

        而在除法运算的最开始加上“1.0 *”后,我们就等于告诉这个运算,这一个运算应该是float类型的计算。这样就可以获得我们想要的结果。

float类型比较

        可以查看大佬写的,很详细:
https://blog.csdn.net/wangjianhs/article/details/105594897https://blog.csdn.net/wangjianhs/article/details/105594897

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘉禾天成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值