blob: c9c67c088ecd7233fec51f1c524bbdd5917459db (
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
|
# Задачи - УПП, Седмица 14, 15.01.2026
'define expected-reading 1 min
'define created 14 January 2025
'define edited 18 January 2025
[$pagenav]
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 Решение]
От входа получавате цяло неотрицателно число.
Използвайки [=единствено=] побитови операции, умножете числото по 8 и върнете резултата.
:table_2
|= Вход
|= Изход
|: 1
|: 8
|: 5
|: 40
### Задача 2
.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week14/Exercise02.cpp Решение]
От входа получавате цяло неотрицателно число.
Отместете битовете му с 3 позиция на ляво [=без=] да използвате побитови оператори и изкарайте резултата.
:table_2
|= Вход
|= Изход
|: 3
|: 24
|: 38
|: 304
### Задача 3
.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week14/Exercise03.cpp Решение]
От входа получавате неотрицателно 32-битово число.
Използвайки [=единствено=] побитови операции, изкарайте 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
[*(18.01.2026)*] Оправени примери
:table_2
|= Вход
|= Изход
|: 4292943875 76803 +
|: 2047 147 6
|: 4292943875 2100224 +
|: 0 75 3
|