blob: db5a4a2721b59a31d4db1476af29f56519ed17af (
plain) (
blame)
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
111
|
'def title Задачи - УПП, Седмица 14, 15.01.2026
'def desc Условията на задачите за упражнение.
# {title}
{pagenav 1 min;14 January 2025;18 January 2025}
GitHub Classroom: {url https://classroom.github.com/a/JjE8rZOx}
## За решаване
### Задача 1
.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week14/Exercise01.cpp}
От входа получавате цяло неотрицателно число.
Използвайки {b единствено} побитови операции, умножете числото по 8 и върнете резултата.
:table
:2
|= Вход
|= Изход
|: 1
|: 8
|: 5
|: 40
### Задача 2
.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week14/Exercise02.cpp}
От входа получавате цяло неотрицателно число.
Отместете битовете му с 3 позиция на ляво {b без} да използвате побитови оператори и изкарайте резултата.
:table
:2
|= Вход
|= Изход
|: 3
|: 24
|: 38
|: 304
### Задача 3
.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week14/Exercise03.cpp}
От входа получавате неотрицателно 32-битово число.
Използвайки {b единствено} побитови операции, изкарайте 1 ако в числото има нечетен брой единици битове и 0 иначе.
:table
:2
|= Вход
|= Изход
|: 52
|: 1
|: 75
|: 0
### Задача 4
.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week14/Exercise04.cpp}
От входа получавате неотрицателно 32-битово число.
Разделете числото на 4 последователни 8-битови числа и изкарайте всяко от тях.
:table
:2
|= Вход
|= Изход
|: 1288472018
|: 76 204 133 210
### Задача 5
.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week14/Exercise05.cpp}
От входа получавате две неотрицателни целия 32-битови числа.
Разбийте всяко на три подчисла, две по 11 бита и едно по 10 бита.
След това от входа получавате буква: {` +}, {` -}, {` *}, {` /}.
Извършете операцията върху всеки две съответни подчисла от двете числа (т.е. върху първото подчисло на първото число и първото подчисло на второто число, второто подчисло на първото число и второто подчисло на второто число и ...).
.note
{i (18.01.2026)} Оправени примери
:table
:2
|= Вход
|= Изход
|: 4292943875 76803 +
|: 2047 147 6
|: 4292943875 2100224 +
|: 0 75 3
|