Мені сказали, що більшість сучасних комп'ютерів дотримуються того самого стандарту з плаваючою комою, чи це означає, що всі вони отримають однаковий плаваючий відповідь для заданої математичної операції, якщо входи однакові?
Я запитую, тому що я досліджую створення гри в RTS в мережі, і синхронізація сотень позицій одиниці звучить як поганий шлях.
Тож якщо я надсилаю лише вводи, мені потрібно гарантувати, що всі клієнти отримають однаковий результат, змусивши їх запустити моделювання з цих входів.
Я читав, що в старих іграх RTS використовуються арифметичні з фіксованою точкою, але я не знаю, чи все-таки це потрібно на сучасних комп’ютерах, якщо всі вони дотримуються одного і того ж стандарту? Мені також сказали, що хоча і неточний, результат з плаваючою комою є детермінованим для того ж вводу (що я вважаю, означає, що будь-який комп'ютер, що слідує за тим же стандартом, отримує той же неточний результат?).
Чи все ж комп’ютери мають відхилення, навіть якщо вони відповідають тому ж стандарту з плаваючою точкою?
Я пишу цю гру на C # не впевнений, чи це має значення, я думав, що все одно це згадаю.