В отличие от C, в Java результат x/y
и x%y
четко определен даже для отрицательных операндов. Удивительно, но это определяется округлением до нуля, а не округлением вниз (то есть в сторону отрицательной бесконечности). Кто-нибудь воспользовался этим определением?
В большинстве случаев мне просто все равно, но иногда мне приходилось обходить это, например, при вычислении индекса по модулю array.length
.
Это не напыщенная речь, мне действительно интересно, есть ли применения для этого определения.