Бинарные числа
"Говорят, что плохой программист – это тот, кто считает, что в одном килобайте 1000 байт, а хороший программист – это тот, кто полагает, что в одном километре 1024 метра."
Многим эта шутка понятна, так как все знают, что в процессах, связанных с информатикой и компьютерной техникой, фигурирует множество значений, выражаемых степенью двойки, то есть чисел вида 2^K, где K – некоторое неотрицательное целое число. Назовем такие числа бинарными. Это такие числа как 1, 2, 4, 8, 16, 32 и т.д. Действительно, когда речь идет о размере памяти или о разрешении экрана монитора, то мы часто наталкиваемся на бинарные числа. Все это связано с принципом хранения информации в памяти ЭВМ.
Задано целое число N. Требуется определить, является ли оно бинарным.
Напишите функцию public static boolean isBinary(int n), которая возвращает true, если n - степень двойки, иначе - false.
Доп. задание: Попробуйте решить задачу, не используя условий и тернарных операторов ("?:").
Решение:
public static boolean isBinary(int n) {
return n > 0 && (n & n - 1) == 0;
}
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ