Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 04 / README.md
blob: 9ce9f75adf34f27bad46b54e07ba2bb407430f74 (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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
**Десетична бройна система.**

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 , 12 

Защото използваме 10 символа: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Най-малката бройна система: **Единична бройна система (Unary)**

Символи: 1

1 = 1

2 = 11

3 = 111

4 = 1111

5 = 11111

6 = 111111


**Двоична бройна система (binary)**

Символи: 0,1

0 - 00000

1 - 00001

2 - 00010

3 - 00011

4 - 00100

5 - 00101

6 - 00110

**Троична бройна система**

Символи: 0, 1, 2

0 - 00

1 - 01

2 - 02

3 - 10

4 - 11

5 - 12

6 - 20


Пребобрзвуане между бройни системи.

**1. Десетична бройна система -> k-ична(k = 2(двоична), k = 3(троична), k = 10(десетична)) бройна система.**

**Пример 1**: Преобразуване на числото 36 от десетична бройна система в двоична бройна система.

Т.е k = 2.

|    |        | %k |
|----|--------|----|
|    | n = 36 | 0  |
| /k | 18     | 0  |
| /k | 9      | 1  |
| /k | 4      | 0  |
| /k | 2      | 0  |
| /k | 1      | 1  |
| /k | 0      |    |


**Гледаме от долу нагоре - 100100**

**Пример 2**: Преобразуване на числото 38 от десетична бройна система в троична бройна система.

Т.е k = 3.

|    |        | %k |
|----|--------|----|
|    | n = 38 | 2  |
| /k | 12     | 0  |
| /k | 4      | 1  |
| /k | 1      | 1  |
| /k | 0      |    |

**Гледаме от долу нагоре - 1102**

**1. k-ична бройна система -> десетична бройна система.**

**Пример 3**: Преобразуване на числото 100100 от двоична бройна система в десетична бройна система.

0*2^0 + 0*2^1 + 1*2^2 + 0*2^3 + 0*2^4 + 1*2^5 = 4 + 32 = 36

**Пример 4**: Преобразуване на числото 1102 от троична бройна система в десетична бройна система

2*3^0 + 0*3^1 + 1*3^2 + 1*3^3 = 2 + 9 + 27 = 38.


Всяка една променлива има **фиксиран** размер - памет, която заема.

int - 32 бита. бит - 0 или 1

sizeof(int) - > 4 размер в байтове. Байт = 8 бита.

Първият бит в int-а определя знака.

Минимална стойност на променлива от тип int: -2^31.

Максимална стоиност на променлива от тип int: 2^31 - 1

Побитови операции: Виж **bitwise_examples.cpp**

Побитови операции(задачи):

**Задача 1**: Да се провери дали дадено число е четно или нечетно.

**Задача 2**: Въвежда се числa n и k и да се определи стойността на k-тия бит.(Вход:  10, 2  (000..001010) Изход: 0)

**Задача 3**: Въвежда се число n. Да се пресметне 2^n.

**Задача 4**: Въвежда се число n. Да се пресметне числото закодирано в предпоследните 3 бита.