#初学小白提问,求大佬解答,提前感谢:
为什么我按照图一运行出来的h就是对的?而按照图二运行出来就出h就为0?我自己考虑的是浮点数问题,之前为int的时候,将1/2读成0了,我便改成double,但还是出错了。
【学习与成长】初学者请教C++问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- Kwan的解忧杂货铺@新空间代码工作室 2024-03-26 18:45关注
volcano_7d2 晚上好🌙🌙🌙
本答案参考ChatGPT-3.5在C++中,除法运算符
/
对于两个整数类型的操作数会执行整数除法,即只保留计算结果的整数部分。因此,当你使用1/2
时,结果将会是0。为了得到正确的结果,你可以将其中一个操作数转换为浮点数类型,这样就会执行浮点数除法。你可以使用以下任一种方法:
- 将其中一个操作数标记为浮点数,例如:
1.0 / 2
,这样结果将会是0.5。 - 将其中一个操作数强制转换为浮点数类型,例如:
(double)1 / 2
,这样结果也会是0.5。 - 声明
1
和2
为浮点数类型,例如:double x = 1, y = 2; x / y
,这样结果同样为0.5。
请注意,在进行浮点数除法时,可能会存在精度误差。如果你需要一个精确的结果,请考虑使用浮点数比较方法,例如使用特定的精度范围来判断两个浮点数是否相等。
声明浮点数变量时,需要使用浮点数类型,例如
double h = 1.0 / 2;
。希望这可以帮助到你。如果你还有其他问题,请随时提问。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 - 将其中一个操作数标记为浮点数,例如:
悬赏问题
- ¥15 Opencv配置出错
- ¥15 模电中二极管,三极管和电容的应用
- ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
- ¥15 气象网格数据与卫星轨道数据如何匹配
- ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
- ¥15 微软账户问题不小心注销了好像
- ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
- ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
- ¥20 关于web前端如何播放二次加密m3u8视频的问题
- ¥15 使用百度地图api 位置函数报错?