【C++基础】C++除法陷阱

两种情况:

  1. 操作数都是整型,运算结果也是整型,会舍去小数部分,相当于取(整型)商
  2. 一个操作数为浮点数,运算结果就会保留小数部分,此时才算真正的除法

要得到精确的除法结果,需将其中一个数转为浮点数

例:

  • 计算2个double类型相除结果,如61/387,应得0.15*****
    直接用“/”计算结果却为0

  • k1=61/387;
    检查发现“/” 运算会自动将结果四舍五入,
    要得到精确的除法结果,只需将其中一个数转为float:

如 k1 = (double) 61/387;
或 static_cast<double> (61 / 387);
  • 注意运算符结合的优先级
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值