
- •Практическое занятие №1.1 кодирование информации. Системы счисления.
- •Системы счисления подразделяются на: позиционные и непозиционные.
- •Десятичная система счисления.
- •Двоичная система счисления.
- •Восьмеричная система счисления.
- •Шестнадцатиричная система счисления.
- •Преобразование чисел. Http://byst.Ro/23w7
- •Переведём число 2000 в двоичную систему.
- •Замечание: Для преобразования из двоичной системы в десятичную используют следующую таблицу степеней основания 2:
- •Преобразование двоичных чисел в десятичные с помощью таблицы:
- •Юникод. Utf-8
Переведём число 2000 в двоичную систему.
1. Делим 2000 на основание новой системы счисления — 2:
2000:2=1000(0 - остаток),
1000:2=500(0),
500:2=250(0),
250:2=125(0),
125:2=62(1),
62:2=31(0),
31:2=15(1),
15:2=7(1),
7:2=3(1),
3:2=1(1)
2. Собираем последнее частное от деления (всегда равно 1) и остатки от деления и записываем их по порядку, начиная снизу:
200010==111110100002
Для проверки переведём полученное число в десятичную систему счисления, для этого:
1. Выделим двоичные разряды числа, то есть, степени числа 2, начиная с 0-й:
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
210 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
2' |
2° |
2. Запишем сумму произведений 0 и 1 на соответствующую степень числа 2 (см. представление числа в 2-ой системе счисления):
0*20+0*21+0*22+0*23+l*24+0*25+l*26+l*27+l*28+l*29+l*210= =16+64+128+256+512+1024=2000
Замечание: Для преобразования из двоичной системы в десятичную используют следующую таблицу степеней основания 2:
512 |
256 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20
|
Начиная с цифры 1 все цифры умножаются на два. Точка, которая стоит после 1, называется двоичной точкой.
Преобразование двоичных чисел в десятичные с помощью таблицы:
Допустим, вам дано двоичное число 1100012. Для перевода в десятичное просто запишите его справа налево как сумму по разрядам следующим образом:
.
Можно записать это в виде таблицы следующим образом:
512 |
256 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
|
|
|
|
1 |
1 |
0 |
0 |
0 |
1 |
|
|
|
|
+32 |
+16 |
|
|
|
+1 |
Точно так же, начиная с двоичной точки, двигайтесь справа налево. Под каждой двоичной единицей напишите её эквивалент в строчке ниже. Сложите получившиеся десятичные числа. Таким образом, двоичное число 110001 равнозначно десятичному - 49.
Таблица символов ASCII
код |
символ |
код |
символ |
код |
символ |
код |
символ |
код |
символ |
код |
символ |
32 |
Пробел |
48 |
. |
64 |
@ |
80 |
P |
96 |
' |
112 |
p |
33 |
! |
49 |
0 |
65 |
A |
81 |
Q |
97 |
a |
113 |
q |
34 |
" |
50 |
1 |
66 |
B |
82 |
R |
98 |
b |
114 |
r |
35 |
# |
51 |
2 |
67 |
C |
83 |
S |
99 |
c |
115 |
s |
36 |
$ |
52 |
3 |
68 |
D |
84 |
T |
100 |
d |
116 |
t |
37 |
% |
53 |
4 |
69 |
E |
85 |
U |
101 |
e |
117 |
u |
38 |
& |
54 |
5 |
70 |
F |
86 |
V |
102 |
f |
118 |
v |
39 |
' |
55 |
6 |
71 |
G |
87 |
W |
103 |
g |
119 |
w |
40 |
( |
56 |
7 |
72 |
H |
88 |
X |
104 |
h |
120 |
x |
41 |
) |
57 |
8 |
73 |
I |
89 |
Y |
105 |
i |
121 |
y |
42 |
* |
58 |
9 |
74 |
J |
90 |
Z |
106 |
j |
122 |
z |
43 |
+ |
59 |
: |
75 |
K |
91 |
[ |
107 |
k |
123 |
{ |
44 |
, |
60 |
; |
76 |
L |
92 |
\ |
108 |
l |
124 |
| |
45 |
- |
61 |
< |
77 |
M |
93 |
] |
109 |
m |
125 |
} |
46 |
. |
62 |
> |
78 |
N |
94 |
^ |
110 |
n |
126 |
~ |
47 |
/ |
63 |
? |
79 |
O |
95 |
_ |
111 |
o |
127 |
DEL |
Чтобы хранить также и коды национальных символов каждой страны (в нашем случае – символов кириллицы) требуется добавить еще 1 бит, что увеличит количество уникальных комбинаций из нулей и единиц вдвое, т.е. в нашем распоряжении дополнительно появится 128 свободных кодов (со 128-го по 255-й), в соответствие которым можно поставить символы русского алфавита.
Таким образом, отведя под хранение информации о коде каждого символа 8 бит, мы получим N=28=256 уникальных двоичных кодов, что достаточно, чтобы закодировать все символы, которые можно ввести с клавиатуры.
Несоответствие кодов символов в различных кодировках кириллицы.
Код |
Windows-1251 |
КОИ-8 |
ISO |
Под национальные кодировки отданы коды с 128-го по 255-й. |
192 |
А |
ю |
Р |
|
193 |
Б |
а |
С |
|
194 |
В |
б |
Т |
Эта проблема разрешима - на каждом компьютере найдутся все основные кодировочные таблицы, и если тест выглядит неадекватно, нужно попробовать перекодировать его, просто указав использовать другую кодировочную таблицу. Но наличие такой проблемы, конечно, вносит неудобства.
Используя 8-битную кодировочную таблицу мы не сможем адекватно увидеть на мониторе и тексты, созданные на тех языках, где используются символы, отличные от латинских и кирилличных, например символы с умляутами в немецком языке.