gpt4 book ai didi

c++ - 将 int 转换为 float/double 然后再转换回来,总是一样吗?

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

在 C++ 中,我有一个整数,我将其转换为浮点/ double ,然后将其转换回整数。这两个整数是否保证始终完全相同?假设 float 的范围覆盖整数的范围。

最佳答案

作为一个具体的反例,以表明 float 并不总是如此

#include <iostream>
#include <limits>

int main(){
int x = std::numeric_limits<int>::max();
float f = x;
int xf = f;
double d = x;
int xd = d;

std::cout << x << '\n'
<< f << '\n'
<< xf << '\n'
<< d << '\n'
<< xd << std::endl;

return 0;
}

在我的系统输出

2147483647
2.14748e+09
-2147483648
2.14748e+09
2147483647

关于c++ - 将 int 转换为 float/double 然后再转换回来,总是一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41069254/

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