108 lines
4.2 KiB
Java
108 lines
4.2 KiB
Java
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));
|
||
}
|
||
}
|