Почему это уравнение дает два разных значения для e
в C (32-разрядная версия) и Java (64-разрядная версия)? Они неожиданно велики.
int a, b, c, d;
double e;
a = -12806;
b = 1;
c = 800;
d = 19209;
double f = (32768 / 10.24);
e = (a + (double) b / c * d) / f;
C производит -3,9940624237060547. Java выдает -3,9943714843750002.
UPDATE:
Извините, ребята, эта ошибка кажется чем-то другим, чем я ожидал. Я сократил свой код только до этого уравнения, и числа, которые он выдает, намного ближе.