Усечение чисел с плавающей запятой до int на x86 и x86_64 имеет разную ошибку округления ⇐ C++

Программы на C++. Форум разработчиков
Anonymous
Усечение чисел с плавающей запятой до int на x86 и x86_64 имеет разную ошибку округления

Сообщение Anonymous »

Я наткнулся на неудачный модульный тест, который включает преобразование чисел типа double в целые числа.
Фактическое число, которое преобразуется, составляет 1,234 * 1000., и в основном код сводится к следующему:
#include
#include

int64_t deltatime(double numSeconds) {
return (int64_t) (numSeconds * 1000.0);
}

int main() {
double s = 1.234;
int64_t ms = deltatime(s);
std::cout

Подробнее здесь: https://stackoverflow.com/questions/791 ... ding-error

Вернуться в «C++»