小编Gre*_*ttR的帖子

为什么在C ++中,如果数字为常数,则负数的static_cast <unsigned>会不同吗?

等于equalfalse的C ++规则是什么?鉴于:

float f {-1.0};
bool equal = (static_cast<unsigned>(f) == static_cast<unsigned>(-1.0));
Run Code Online (Sandbox Code Playgroud)

例如https://godbolt.org/z/fcmx2P

#include <iostream>

int main() 
{
          float   f {-1.0};
    const float  cf {-1.0};

    std::cout << std::hex;
    std::cout << " f" << "=" << static_cast<unsigned>(f) << '\n';
    std::cout << "cf" << "=" << static_cast<unsigned>(cf) << '\n';

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

产生以下输出:

 f=ffffffff
cf=0
Run Code Online (Sandbox Code Playgroud)

c++ casting

26
推荐指数
1
解决办法
451
查看次数

标签 统计

c++ ×1

casting ×1