gpt4 book ai didi

c++ - 将 float 转换为 int,有和没有转换

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:53:20 24 4
gpt4 key购买 nike

这两个是等价的吗?

float f = 3.14;
int i;
i = f; // 3

float f = 3.14;
int i;
i = (int) f; // 3

最佳答案

编译器处理这两种情况的方式没有区别。生成的机器代码将是相同的。但是,第一种是隐式转换,第二种是显式转换。根据编译器标志,您可能会在执行丢失精度的隐式转换时收到警告。

旁注,文字 3.14 的类型为 double,这意味着语句 float f = 3.14 中也可能存在精度损失>。一种干净的方法是编写 float f = 3.14f 指定这是float 类型的值 3.14。

关于c++ - 将 float 转换为 int,有和没有转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22112236/

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