Интересно, почему в истинной джаве замена в дереве отрезков /2 на >>1 и %2 на &1 даёт выигрыш по времени в три (!) раза? Только ли из-за того, что для отрицательных чисел /2 иногда даёт на 1 меньше, а %2 даёт -1 вместо 1, и этот случай надо разобрать при использовании побитовых операций? Или java всё-таки через деление это делает? Как жалко, что нельзя дизассемблировать, в отличие от C :)
It is interesting why in true Java, replacing the segments / 2 in >> 1 and% 2 on & 1 in the tree gives a three (!) Time gain in time? Is it only due to the fact that for negative numbers / 2 sometimes gives 1 less, and% 2 gives -1 instead of 1, and this case needs to be sorted out when using bitwise operations? Or does java do this through division? What a pity that you can not disassemble, unlike C :)
У записи 7 лайков,
1 репостов.
1 репостов.
Эту запись оставил(а) на своей стене Андрей Лопатин