diff --git a/java/Main.java b/java/Main.java index 3513593..8fe0cd2 100644 --- a/java/Main.java +++ b/java/Main.java @@ -1,6 +1,59 @@ public class Main { public static void main(String[] args) { - task10(); + 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() {