gpt4 book ai didi

c++ - 隐式转换整数计算以在 C++ 中 float

转载 作者:搜寻专家 更新时间:2023-10-30 23:50:16 24 4
gpt4 key购买 nike

是否有任何编译器具有指令或参数以将整数计算隐式转换为 float 。例如:

float f = (1/3)*5;
cout << f;

“f”是“0”,因为计算的常数(1、3、10)是整数。我想用编译器指令或参数转换整数计算。我的意思是,我不会像那样使用显式转换或“.f”前缀:

float f = ((float)1/3)*5;

float f = (1.0f/3.0f)*5.0f;

您知道任何 c/c++ 编译器有任何参数来执行此过程而无需显式强制转换或“.f”吗?

最佳答案

任何执行您想要的操作的编译器都将不再是符合标准的 C++ 编译器。整数除法的语义已明确指定(至少对于正数而言),您打算更改它。

这也很危险,因为它最终会应用于所有事物,并且您可能在某个时候拥有依赖于标准整数算术的代码,这将悄无声息地无效。 (毕竟,如果您有能够捕捉到这一点的测试,那么您大概会有能够捕捉到不需要的整数运算的测试。)

因此,我得到的唯一建议是编写单元测试、进行代码审查并尽量避免魔数(Magic Number)(而是将它们定义为 const float)。

关于c++ - 隐式转换整数计算以在 C++ 中 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2449578/

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