gpt4 book ai didi

c++ - 为什么 numeric_limits::min() 有不同的定义?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:25:58 25 4
gpt4 key购买 nike

要检索最小值,我必须使用 numeric_limits<int>::min()

我想最小的整数是 -2147483648,在我的机器上测试显示了这个结果。但是一些 C++ 引用,如 Open Group Base Specificationscplusplus.com用值 -2147483647 定义它。

我问这个问题是因为在我实现 negaMax 框架时(游戏树搜索)值最小整数 * (-1) 必须明确定义。是的,使用 minimal int = (numeric_limits::min() + 2) 在任何情况下我都是安全的,因此我的问题更具理论性,但我认为还是很有趣。

最佳答案

如果一个值表示为符号和大小而不是二进制补码,则符号位为 1 而所有其他位为零相当于 -0。在符号和数量级中,最大正整数和最大负整数大小相同。二进制的补码能够表示多一个负值,因为它不具有相同的对称性。

关于c++ - 为什么 numeric_limits<int>::min() 有不同的定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2314664/

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