Summary Files Commits Branches @commit @diff @stats
path: root / src / teaching / upp-2025 / week14 / index.du
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