Когда отрицательные числа не рассматриваются, для этого анализа мы видим, что когда входное значение меньше 1, это число определенно не является целочисленной мощностью 2.
Когда входное значение больше одного, мы можем найти правило. Целая сила 2 выражена в бинарном виде как:
2d = 10b; 4d = 100b; 8d = 1000b
Первый бинар - один, а остальные равны нулю.
Поэтому мы можем судить, что когда входное значение преобразуется в двоичный файл, первый бит - один, а другие биты - 0, так что входное значение - целочисленная мощность 2.
Однако это слишком громоздко. Мы можем судить только по позиции «1» в бинарном номере в последний раз и использовать строку, lastindexof (); метод
И мы также можем обнаружить, что это правило также относится к случаю, когда вводится вход 1.
Затем возник краткий код.
public static boolean ispoweroftwo (int n) {string str = integer.tobinaryString (n); if (n <1) вернуть false; else if (str.lastIndexof ("1") == 0) вернуть истину; elSereturn false; }Приведенный выше метод Java, чтобы определить, является ли целочисленная сила 2, является всем контентом, разделенным редактором. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.