Всем, добрый день ! Просьба объяснить для чего в строке ниже метод Math.pow(если я правильно понимаю он возвращает тип double ?), а также почему i увеличиваем на 1 именно внутри этого метода, а не за его пределами как прописано в условии.
octalNumber = (int) (octalNumber + (decimalNumber % 8) * Math.pow(10, i++));
Заранее спасибо!
zimbaby
28 уровень
Помогите прочитать строку
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Вадим
7 ноября 2021, 09:15
Если остались вопросы, то вот в этих статьях более полно описаны вещи, про которые вы спросили:
1) Класс Java Math и его методы
2) Операции над числами в Java
+1
zimbaby
7 ноября 2021, 09:24
Спасибо !
0
Вадим
7 ноября 2021, 09:05
Во-первых: ваш вопрос почему-то привязан к задаче Двоичный конвертор, в котором нет преобразований в восьмиричную систему. Видимо вы где-то ошиблись и вопрос относится к задаче Восьмеричный конвертер
Во-вторых:
1) Math.pow(a, b) - позволяет получить результат возведения числа a в степень b. Именно эта операция используется в алгоритме перевода числа из десятичной системы счисления в восьмеричную. И да, возвращаемый тип Double.
2) i увеличивается внутри метода только потому, что так код выглядит короче. Особенность оператора i++ в том, что он сначала передает значение i внутрь метода Math.pow(), а только потом увеличивает значение переменной на единицу. Поэтому оба варианта кода будут работать идентично:
+1
zimbaby
7 ноября 2021, 09:24
Прошу прощения, действительно ошибся...
0