Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Лекция № 2 Представление (кодирование) данных. Системы счисления. Кодирование символов. Кодирование вещественных чисел. Кодирование изображений. Кодирование звука. Хранение данных.
Представление данных в компьютере. Кодирование данных двоичным кодом 1
Представление и обработка чисел в компьютере 2
Перевод целых чисел из одной системы счисления в другую 7
Перевод дробных чисел из одной системы счисления в другую 8
Представление данных в компьютере. Кодирование данных двоичным кодом
Для автоматизации работы с данными, относящимимся к различным типам, очень важно унифицироать их форму представления – для этого обычно используется прием кодирования, то есть выражение данных одного типа через данные другого типа. Например, естественный язык – это система кодирования понятий для выражения мыслей посредством речи. Проблема кодирования успешно реализуется в отдельных отраслях техники и науки. Примеры – система записи матеатических выражений, азбука Морзе, морская флажковая азбука, и др.
Своя система существует и в вычислительной технике – она называется двоичным кодом и основана на представлении данных последовательностью всего двух знаков – 0 и 1. Эти знаки называются двоичными цифрами, по английски binary digit, или bit (бит).
Одним битом могут быть выражены два понятия – 0 и 1 (да или нет, истина или ложь). А если количество битов увеличить до двух, то уже можно выразить четыре различных понятия:
00 01 10 11
Тремя – уже восемь различных значений:
000
001
010
011
100
101
110
111
Увеличивая на единицу количество разрядов в системе двоичного кодирования, мы увеличиваем в два раза количество значений, которое может быть выражено в данной системе, то есть общая формула имеет вид:
N=2m, где
N-количество кодируемых значений
m- разрядность двоичного кодирования (то есть сколько нулей и единиц используется для кодирования).
Представление и обработка чисел в компьютере
Представление данных в компьютере определяет не только способ их записи, но и допустимый набор операций над ними. Представление чисел имеет два важных отличия от известного из школы:
1. числа записываются в двоичной системе счисления
2. для записи и обработки чисел отводится конечное количество разрядов
Замечания относительно понятия ЧИСЛО. Оно имеет ЗНАЧЕНИЕ и ФОРМУ ПРЕСТАВЛЕНИЯ. Последняя определяет порядок записи числа с помощью предназначенных ля этого знаков. При этом ЗНАЧЕНИЕ является инвариантом, то есть не зависит от способа его представления. То есть отсутствует взаимно однозначное соответствие между представлением числа и его значением, всякое значение числа может быть записано по-разному. Поэтому вопрос- каковы формы представления чисел. и можно ли переходить от одной к другой.
Системой счисления называется совокупность приемов наименования и записи чисел.
В любой системе счисления для представления чисел выбираются некоторые базовые символы (цифры), и все числа получаются в результате строго определенных операций над ними. Число таких базовых символов называется основанием системы счисления.
Существует два известных типа систем счисления: непозиционные и позиционные.
В непозиционных системах счисления каждая цифра имеет одно и тоже значение независимо от положения в записи числа.(значение знака не зависит от того места, которое он занимает в числе.
Непозиционной системой счисления является самая простая система с одним символом (палочкой). Для изображения какого-либо числа в этой системе надо записать количество палочек, равное данному числу. Например, запись числа 12 в такой системе счисления будет иметь вид: 111111111111, где каждая «палочка» обозначена символом 1. Эта система неэффективна, так как форма записи очень громоздка.
К непозиционной системе счисления относится и римская, символы алфавита которой и обозначаемое ими количество представлены в табл. 1.
Таблица 1
Римские цифры
I
V
X
L
С
О
м
Значение (обозначаемое количество)
1
5
10
50
100
500
1000
Запись чисел в этой системе счисления осуществляется по следующим правилам:
1) если цифра слева меньше, чем цифра справа, то левая цифра
вычитается из правой (IV: 1 < 5, следовательно, 5 — 1=4, ХL: 10 < 50,
следовательно, 50 — 10 =40);
2) если цифра справа меньше или равна цифре слева, то эти
цифры складываются (VI: 5+1=6, VIII: 5 + 1 + 1 + 1 = 8, XX:
10+10 = 20).
Так, число 1964 в римской системе счисления имеет вид МСМIХIV (М — 1000, СМ — 900, IX — 60, IV — 4), здесь «девятьсот» получается посредством вычитания из «тысячи» числа «сто», «шестьдесят» — посредством сложения «пятидесяти» и «десяти», «четыре» — посредством вычитания из «пяти» «единицы».
В общем случае непозиционные системы счисления характеризуются сложными способами записи чисел и правилами выполнения арифметических операций. В настоящее время все наиболее распространенные системы счисления относятся к разряду позиционных.
В настоящее время наиболее распространены позиционные системы счисления. Все обрабатываемые данные в персональных компьютерах представлены в виде кодов и чисел в позиционной системе счисления.
Конкретное значение числа в позиционной системе определяется не только самими его цифрами, но и местоположением каждой из цифр, т.е. цифры имеют разный вес в записи числа. Примером такой системы счисления является привычная нам десятичная система счисления. Эта система использует десять базовых символов (цифр): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. В позиционной системе счисления число может быть представлено в виде суммы произведений коэффициентов на степени основания системы счисления. Например, число 1909 можно представить в виде многочлена по степеням основания:
1*103 + 9*102 + 0101 + 9*100
Основание системы счисления может быть отличным от 10. Запись произвольного числа X в системе счисления по основанию R имеет вид:
X = an*Rn + an-1 *Rn-1 + ... + a1 *R1 + a0 *R0, а цифры ai принадлежат 0, ... , R-1.
В компьютерных науках используется несколько позиционных систем счисления: двоичная, восьмеричная, шестнадцатеричная системы счисления.
• Двоичная система счисления
Особая значимость двоичной системы счисления в информатике определяется тем, что внутренне представление любой информации в компьютере является двоичным, то есть описываемым наборами только из двух знаков – 0 и 1. Цифра двоичной системы счисления хранится в элементарной ячейке памяти, называемой битом. Бит – это наименьшая единица измерения количества информации, известная в природе (да-нет).
Восемь бит обеспечивают основу для двоичной арифметики и для представления символов в памяти компьютера. Восемь бит дают 256 различных комбинаций включенных и выключенных состояний: от "все выключены" (00000000) до "все включены" (11111111). По соглашению биты в байте пронумерованы от 0 до 7 справа налево, как это показано в таблице:
Номера битов:
7
6
5
4
3
2
1
Значения битов:
1
1
Двоичная система счисления является позиционной, а соответственно значение двоичного числа определяется позицией каждого бита. В общем виде число в двоичной системе счисления представляется в форме:
X = an*2n + an-1 *2n-1 + ... + a1 *21 + a0 *20 ai принадлежат 0,1
Двоичное число не ограничивается только восьмью битами. В зависимости от архитектуры компьютера, он оперируют 16-битными, 32-битными, 64-битными представлениями чисел.
Таблица сложения в двоичной системе счисления имеет вид:
+
=
+
1
=
1
1
+
=
1
1
+
1
=
10
При сложении осуществляется перенос избытка из одного столбца в другой.
Таблица умножения в двоичной системе счисления имеет вид:
х
=
х
1
=
1
х
=
1
х
1
=
1
Замечание: если справа приписать 0, то двоичное число удваивается.
• Восьмеричная система счисления
Для более удобного представления двоичных данных также используется система счисления с основанием восемь (восьмеричная система счисления). В восьмеричной системе счисления используется восемь цифр: 0,1,2,3,4,5,6,7.
Сложение в 8-ричной системе:
+
1
2
3
4
5
6
7
1
2
3
4
5
6
7
1
1
2
3
4
5
6
7
10
2
2
3
4
5
6
7
10
11
3
3
4
5
6
7
10
11
12
4
4
5
6
7
10
И
12
13
5
5
6
7
10
11
12
13
14
6
6
7
10
11
12
13
14
15
7
7
10
11
12
13
14
15
16
Умножение в восьмеричной системе
X
1
2
3
4
5
6
7
1
1
2
3
4
5
6
7
2
2
4
6
10
12
14
16
3
3
6
11
14
17
22
25
4
4
10
14
20
24
30
34
5
5
12
17
24
31
36
43
6
6
14
22
30
36
44
52
7
7
16
25
34
43
52
61
• Шестнадцатеричная система счисления
Для "стенографического" представления двоичных чисел используется система счисления с основанием 16 (шестнадцатеричная система счисления). В шестнадцатеричной системе счисления используется шестнадцать цифр: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
.
табл. 2. Двоичное, десятичное и шестнадцатеричное представления
Десятичная
Двоичная
Восьмеричная
Шестнадцатеричная
1
001
1
1
2
010
2
2
3
011
3
3
4
100
4
4
5
101
5
5
6
110
6
6
7
111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F
16
10000
20
10
Пример. 101011112 = AF16
табл. 3. Двоичное, десятичное и восьмеричное представления
Перевод целых чисел из одной системы счисления в другую
Примем без доказательства следующие правила перевода целых чисел из одной системы счисления в другую.
Правило 1. Перевод числа x из системы счисления основанием P в систему счисления с основанием Q заключается в последовательном нахождении остатков от деления числа x на основание Q, при этом процесс продолжается до тех пор, пока частное от деления не будет меньше основания Q. Все вычисления выполняются в системе счисления с основанием P, т.е. основание Q должно также быть выражено в системе счисления с основанием P. Остатки от деления должны быть выражены цифрами системы счисления с основанием R. Представление искомого числа в системе счисления с основанием R получается выписыванием последнего частного и остатков от деления в обратном порядке.
На практике такой порядок перевода чисел используется при переводе из десятичной системы счисления в восьмеричную, шестнадцатеричную и двоичную.
Правило 2. Перевод числа x из системы счисления основанием P в систему счисления с основанием Q осуществляется путем представления числа х по степеням основания P. Все вычисления выполняются в системе счисления с основанием Q, т. е. основание P и цифры исходного числа должны также быть выражены в системе счисления с основанием Q. На практике такой порядок перевода чисел используется при переводе из двоичной, восьмеричной и шестнадцатеричной системы счисления в десятичную.
Правило 3. Перевод чисел из восьмеричной системы счисления в двоичную и наоборот переводится по триадам,
При переводе из восьмеричной системы в двоичную каждая цифра заменяется триадой, согласно табл.
При переводе из двоичной системы в восьмеричную число развивается на триады справо налево, недостающие цифры слева дополняются нулями. После этого, каждую триаду заменяют восьмеричной цифрой согласно табл.
Правило 4. Перевод чисел из шестнадцатеричной системы счисления в двоичную и наоборот переводится по тетрадам.
При переводе из шестнадцатеричной системы в двоичную каждая цифра заменяется тетрадой, согласно табл.2
При переводе из двоичной системы в шестнадцатеричную число разбивается на тетрады справо налево, недостающие цифры слева дополняются нулями. После этого, каждую тетраду заменяют шестнадцатеричной цифрой согласно табл. 2.
Перевод дробных чисел из одной системы счисления в другую
1. Перевод из десятичной в систему с основанием q:
a. умножить исходную дробь в десятичной сс на q, выделить целую часть – она будет первой цифрой новой дроби, отбросить дробную часть
b. для оставшейся дробной части операцию умножения с выделенем целой и дробной частей повтроять, пока в дробной части не останется 0, или не будет достигнута желаемая точность. Появляющиеся при этом целые будут цифрами новой дроби
c. записать дробь в виде последовательности цифр после ноля с разделителем в порядке их появления в п.1 и 2
2. Из двоичной и шестнадцатеричной систем счисления (.. из любой) - в десятичную. В этом случае рассчитывается полное значение числа по формуле (раскладываем по степеня основания системы счисления), затем коэффициенты ai принимают десятичное значение в соответствии с таблицей и подсчитывается значение полученного выражения.
Примеры
1. Пример 3.10. Выполнить перевод из двоичной системы счисления в десятичную числа 0,11012. Имеем:
0,11012 = 1*2-1 + 1*2-2 + 0*2-3 +1*2-4 = 0,5 + 0,25 + 0 + 0,0625 = 0,8125.
2. Перевод из двоичной, восьмеричной и шестнадцатеричной в десятичную систему счисления
a. перевести 10101101,1012 в десятичную систему счисления
10101101,1012=127+026+125+024+123+122+021+120+12-1+02-2+12-3=173,62510
b. перевести 53,28 в десятичную систему счисления
53,28=581+380+28-1=43,25
c. перевести 23Е,216 в десятичную систему счисления
23Е,216=2162+3161+14160+216-1= 574,125
3. Перевод из десятичной системы в двоичную, восьмеричную и шестнадцатеричную системы счисления.
a. перевести 12410 в двоичную систему
Ответ: 12410=11111002
b. перевести 12410 в восьмеричную систему
Ответ: 12410=1748
4. Перевод правильных дробей из десятичной системы в двоичную, восьмеричную и шестнадцатеричную системы счисления.
a. Перевести число 0,6562510 в восьмеричную систему счисления.
Ответ: 0,6562510 = 0,528
b. Перевести число 0,6562510 в шестнадцатеричную систему счисления.
Ответ: 0,6562510 = 0,A816
Замечание: при переводе смешанных чисел целые и дробные части переводятся отдельно.
5. Перевод чисел из восьмеричной и шестнадцатеричной систем в двоичную.
a. перевести в двоичную систему число 204,48
b. перевести в двоичную систему число 6С3,А16
6. Перевод чисел из двоичной системы в восьмеричную и шестнадцатеричную.
a. перевести в восьмеричную систему число 10011001111,01012
b. перевести в шестнадцатеричную систему число 10111111011,1000112