假设我有一个双数据类型,名为'x'的变量。是否有必要将double转换为long long数据类型给出与转换为long long floor(x)相同的结果。
答案 0 :(得分:6)
不,它不一样。
转换截断(向零舍入),floor
函数向下舍入。
#include <iostream>
#include <math.h>
int main()
{
double x = -1.4;
std::cout << "(long long)x = " << ((long long)x) << "\n";
std::cout << "(long long)floor(x) = " << ((long long)floor(x)) << "\n";
return 0;
}