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 бита.
|