public class Main { public static void main(String[] args) { task14(); } static void task14() { } static void charToBin(char ch) { String bin = Integer.toBinaryString(ch); System.out.println( String.format("%16s", bin).replace(' ', '0') ); } static void task13() { /* Напишите метод для вывода char в двоичном представлении. Продемонстрируйте его работу на нескольких разных символах. */ char a = 'a', b = 'b', x = 'x', z = 'z'; charToBin(a); charToBin(b); charToBin(x); charToBin(z); } static void task12() { /* Начните с числа, состоящего из двоичных единиц. Сдвиньте его влево, а затем используйте беззнаковый оператор сдвига вправо по всем двоичным позициям, с выводом всех промежуточных результатов методом lnteger.toBinaryString(). */ int value = 0xFFFFFFFF; System.out.println(Integer.toBinaryString(value)); value <<= 1; System.out.println(Integer.toBinaryString(value)); for (int i = 0; i < 32; i++) { value >>>= 1; System.out.println(Integer.toBinaryString(value)); } } static void task11() { /* Начните с числа, содержащего двоичную 1 в старшем бите (подсказка: воспользуйтесь шестнадцатеричной константой). Используйте знаковый оператор сдвига вправо, сдвигайте знак до крайней правой позиции, с выводом всех промежуточных результатов методом Integer.toBinaryString(). */ int value = 0x80000000; for (int i = 0; i < 32; i++) { System.out.println(Integer.toBinaryString(value)); value >>= 1; } } static void task10() { /* Напишите программу с двумя константами: обе константы состоят из чередующихся нулей и единиц, но у одной нулю равен младший бит, а у другой старший (подсказка: константы проще всего определить в шестнадцатеричном виде). Объедините эти две константы всеми возможными поразрядными операторами. Для вывода результатов используйте метод Integer.toBinaryString(). */ int const1 = 0xAAAAAAAA; int const2 = 0x55555555; int bitwise_and = const1 & const2; int bitwise_or = const1 | const2; int bitwise_xor = const1 ^ const2; int bitwise_not = ~const1; System.out.println("AND(&): " + Integer.toBinaryString(bitwise_and)); System.out.println("OR(|): " + Integer.toBinaryString(bitwise_or)); System.out.println("XOR(^): " + Integer.toBinaryString(bitwise_xor)); System.out.println("NOT(~):" + Integer.toBinaryString(bitwise_not)); } static void task9() { /* Выведите наибольшее и наименьшее число в экспоненциальной записи для типов float и double. */ float max_float = Float.MAX_VALUE; double max_double = Double.MAX_VALUE; float min_float = Float.MIN_VALUE; double min_double = Double.MIN_VALUE; System.out.println("Max float value: " + max_float); System.out.println("Max double value: " + max_double); System.out.println("Min float value: " + min_float); System.out.println("Min double value: " + min_double); } static void task8() { /* Покажите, что шестнадцатеричная и восьмеричная записи могут использоваться с типом long. Для вывода результатов используйте метод Long.toBinaryString(). */ long hex = 0x123L; long oct = 0123; System.out.println(Long.toBinaryString(hex)); System.out.println(Long.toBinaryString(oct)); } }