【问题标题】:Fixed point implementation of int minint min 的定点实现
【发布时间】:2013-05-08 11:29:49
【问题描述】:

我正在阅读 C++ 中的正无穷和负无穷,我正在尝试在定点数学算术实现中实现它们

我可以看到 int 的最大值将等于 std::numeric_limits<int>::max(); 在 C++ 中

int 的最小值将等于std::numeric_limits<int>::min(); 在 C++ 中

当我在我的定点数学实现中手动定义 int max 和 int min 时,我的疑问是 int min = -int max;int min = -int max -1;

有人可以清除吗?

【问题讨论】:

    标签: c++ max min fixed-point numeric-limits


    【解决方案1】:

    这取决于你的符号表示,但我会假设它是二进制补码。

    在这种情况下,我们有-x = ~x + 1 所以x + (~x) = -1 对应每个有符号整数x。

    所以int min = (~max) + -1 = - ( (unsigned int) max) + -1

    【讨论】:

    • 即使我认为它是二进制补码,所以它的 int min = -intmax -1 ?
    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 2013-06-09
    • 1970-01-01
    • 2020-03-25
    • 2017-09-12
    • 2017-09-05
    • 2013-03-07
    • 2019-08-28
    相关资源
    最近更新 更多