gpt4 book ai didi

c++ - c++判断一个值是否在该数据类型的最大范围内

转载 作者:行者123 更新时间:2023-11-30 05:02:45 25 4
gpt4 key购买 nike

确定数字(在我的例子中它是由 pow(2,n) 计算的二的幂值)是否在一种变量类型可以采用的值的限制内的正确方法是什么?我这样做:if(pow (2,128)>std::numeric_limits<float>::max()) , 但这被评估为 true尽管预计 float 的最大值为 2^128 或更多。有没有更好的方法来进行这种比较?

最佳答案

对于这些类型的限制检查,您可以移动条款以保持在类型的限制范围内。

在这种情况下,pow(2,n) == exp(ln(2)*n) 在数学上,因此,重新排列项,您可以使用 n > ln(maxval)/ln(2)

关于c++ - c++判断一个值是否在该数据类型的最大范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49709320/

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