gpt4 book ai didi

objective-c - 为什么在两个整数相除时只将分子转换为 float 以获得 float 商?

转载 作者:太空宇宙 更新时间:2023-11-04 00:13:02 26 4
gpt4 key购买 nike

我刚开始接触 Objective-C,一般来说是 C,所以我想这也是一个 C 问题。它更像是一个为什么的问题,而不是一个如何做的问题问题。

我注意到,在除以两个整数时,小数部分向下舍入为 0,即使结果是 float 。我遵循的来源建议使用以下方法来处理此问题:

float result = (float) numerator / denominator;

我现在想知道为什么这行得通。特别是两件事。1)如果必须输入分子,为什么不也输入分母? 2) 为什么你不能把整个东西都投下来?我首先尝试的是

float result = (float) (numerator / denominator);

但这再次将小数部分四舍五入为 0。这是什么原因?

最佳答案

通过将分子提升为 float ,您也需要提升分母。但是,当您将两者放在括号中时,您就是在告诉编译器以整数形式执行工作然后转换为 float 。

关于objective-c - 为什么在两个整数相除时只将分子转换为 float 以获得 float 商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16425114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com