Мне нужно преобразовать двойной угол / угол с плавающей точкой в диапазон [-180,180], добавив или вычтя 360. Функция остатка работает, но я не уверен, почему.
x = remainder (x, 360);
Почему это производить диапазон [-180,180], а не [0,359.99999 ...]?
Я понимаю, что остаток и мод одинаковы для положительных чисел, но они работают по-разному для отрицательных чисел ... Я просто не видел хорошее объяснение происходящего.
Я счастлив, что это работает, конечно, но я не совсем понимаю, почему.