«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему оператор Java по модулю возвращает отрицательный результат для отрицательных чисел?

Почему оператор Java по модулю возвращает отрицательный результат для отрицательных чисел?

Опубликовано 16 ноября 2024 г.
Просматривать:478

Why Does Java\'s Modulo Operator Return a Negative Result for Negative Numbers?

Отрицательные результаты по модулю в Java

При выполнении операций по модулю с отрицательными числами в Java вы могли заметить, что результаты отличаются от полученных в Python. В Java int i = -1 % 2 дает -1, а в Python возвращает 1.

Понимание модуля и остатка

Ключ к пониманию этой разницы заключается в различии между модулем и остатком. В Python оператор % возвращает модуль, который всегда дает неотрицательный результат. Напротив, оператор Java по модулю возвращает остаток, который может быть отрицательным, если числитель отрицательный. в Java вы можете выполнить следующие шаги:

Вычислить остаток по модулю: int i = -1 % 2;

Добавить достаточно, чтобы остаток стал неотрицательным: if (i
    В качестве альтернативы можно использовать следующую формулу:
  1. int i = (((-1 % 2) 2) % 2);
  2. Применяя эти методы, вы можете гарантировать, что оператор Java по модулю возвращает положительные результаты для отрицательных входных данных, что соответствует поведению в Python.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3