public static double getPowerOfTwo(int power) {
if (power >= 0) {
return 1 << power;
} else {
return 1 >> (1 <<power);
}
}
При power < 0 всегда результат 1.0 Подскажите, как исправить, чтобы возвращалось правильное значение 2 в минусовой степени
Anonymous #2988619
39 уровень
Степень двойки
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
2DaMoon
9 февраля 2022, 17:48
Немного не понял: "2 в минусовой степени" это -n^2 или n^-2? Если первый вариант, то во втором ретурне делаем power отрицательным и заменяем "1 >>" на "-"
0
Anonymous #2988619
10 февраля 2022, 20:09
Второй вариант: а ^ -n. Например, чтобы при power = -5, вернулось 0.03125
0
Anonymous #2988619
10 февраля 2022, 20:14
Или результат побитового сдвига всегда будет интом и точного значения не добиться?
0