Repository navigation
Expand file tree
/
Copy pathSolution.java
More file actions
110 lines (57 loc) · 3.07 KB
/
Copy pathSolution.java
File metadata and controls
110 lines (57 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
//And cried with a loud voice, as when a lion roareth: and when he had cried, seven thunders uttered their voices. (Revelation 10:3)
package com.javarush.task.task30.task3013;
/*
Набираем код
*/
public class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
int number = Integer.MAX_VALUE - 133;
System.out.println(Integer.toString(number, 2));
String result = Integer.toString(solution.resetLowerBits(number), 2);
System.out.println(result);
}
public int resetLowerBits(int number) {
number &= ~(number >> 1); //напишите тут ваш код
number &= ~(number >> 2);
number &= ~(number >> 4);
number &= ~(number >> 8);
number &= ~(number >> 16);
return number;
}
}
/*
Набираем код
Необходимо реализовать публичный метод int resetLowerBits(int number), который обнуляет все биты в числе number, кроме самого старшего равного единице, и возвращает это число.
Число типа int это 4 байта = 32 бита. Если в метод передано число 3456, его представление в виде битов будет 00000000 00000000 00001101 10000000. В методе нужно обнулить все младшие биты, то есть на выходе ожидается что число, представленное в виде битов, будет иметь вид: 00000000 00000000 00001000 00000000.
Это число 2048.
Еще несколько примеров:
Пример 1:
на входе: 1
на выходе: 1
Пример 2:
на входе: 4
на выходе: 4
Пример 3:
на входе: 255
на выходе: 128
Параметр метода resetLowerBits может быть от 1 до Integer.MAX_VALUE включительно.
Используй только операции:
1) =
2) |
3) &
4) >>
5) <<
6) ~
7) цифры от 0 до 9 включительно
8) круглые скобки
9) оператор "return" для возврата результата метода.
ЗАПРЕЩЕНО создавать переменные, использовать циклы, условные операторы и прочее.
Имя параметра метода resetLowerBits не изменяй (должно быть "number").
Метод main не принимает участия в тестировании.
Требования:
1. В классе Solution должен присутствовать публичный метод int resetLowerBits(int).
2. Параметр метода resetLowerBits(int) должен называться number.
3. В классе Solution в методе resetLowerBits(int) используй только разрешенные операции.
4. Метод resetLowerBits должен работать согласно условию задачи.
*/