Files
teaching/java/Main.java
2026-01-18 22:23:24 +03:00

108 lines
4.2 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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));
}
}