Способы кодирования информации и порядок преобразования десятичных чисел в двоичные и наоборот в информатике

Способы кодирования информации и порядок преобразования десятичных чисел в двоичные и наоборот в информатике и вычислительной технике

Реферат по дисциплине: “Введение в специальность 6.01010036” Профессиональное обучение компьютерным технологиям в преподавании и обучении»

Выполнил студент группы ДГ-К5-1 Ячменёв Д.А.

Украинская инженерно-педагогическая академия

Стаханов 2005 

1. Как представляется информация

Издавна люди пользовались шифрами. Самыми простыми и удобными являются цифровые шифры. Например, основными цветами радуги являются красный, оранжевый, желтый, зеленый, голубой, синий, фиолетовый. Их можно пронумеровать в перечисленном порядке цифрами от 1 до 7. 

Музыкальное произведение записывается с помощью нот. Основными нотами музыкального ряда являются до, ре, ми, фа, соль, ля, си. Их тоже можно пронумеровать цифрами от 1 до 7. 

Дни недели нумеруются этими же цифрами. Таким образом, разнообразная информация — цвета, ноты и дни недели — может быть представлена единым способом — с помощью цифр. 

Для обработки компьютером любая информация представляется в виде чисел, записанных с помощью цифр. Цифры представляются электрическими сигналами, с которыми работает компьютер. Для удобства различения в компьютере используются сигналы двух уровней. Один из них соответствует цифре 1, другой — цифре 0. Цифры 0 и 1 называются двоичными. Они являются символами, из которых состоит язык, понимаемый и используемый компьютером. Информация, с которой работает компьютер, «кодируется» с помощью этого языка. Таким образом, любая информация в компьютере представляется с помощью двоичных цифр. Наименьшим количеством информации является одно из двух возможных значений — 0 или 1. Такое количество информации называется бит (bit сокр. от англ. binary digit — двоичная цифра). Равновероятными являются события, появление которых одинаково возможно. Например, при бросании монеты возможность выпадения «цифры» или «герба» одинакова. Для однозначного определения одного из двух событий — «цифра» или «герб» — достаточно одного бита информации: 0 — «цифра», 1 — «герб» (или наоборот).

Бит является наименьшей единицей измерения количества информации в компьютере. Теперь следует научиться представлять любое число в виде комбинации нулей и единиц. Это представление должно быть однозначным, т.е. различным числам должны соответствовать разные комбинации.

2. Десятичная система счисления

Система счисления — это система записи чисел с помощью определенного набора цифр. В привычной нам системе записи чисел — десятичной системе счисления — для записи чисел используется десять цифр: 0,1,2,3,4,5,6,7,8,9. В этой системе любое целое неотрицательное число представляется с помощью степеней числа 10 (100=1; 101=10; 102=100; 103=1000; 104=10000,...). Число 10 является основанием этой системы счисления.

Действительно, если число меньше 10, то записывается соответствующая ему одна цифра.

Если число больше либо равно 10, но меньше 100, то оно представляется двумя цифрами: первая указывает количество полных десятков, содержащихся в числе, вторая — количество единиц в последнем неполном десятке.

Например:

87=80+7=8·10+7=8·101+7·100=8710.

Индекс внизу указывает систему счисления, в которой записано исходное число. Если число больше либо равно 100, но меньше 1000, то для его записи используется уже три цифры. Первая цифра — это количество полных сотен, содержащихся в числе, вторая цифра — количество полных десятков в последней неполной сотне, третья цифра — количество единиц в последнем неполном десятке.

Например:

645=600+40+5=6·100+4·10+5=6·102+4·101+5·100=64510.

При таком подходе для представления числа, большего либо равного 1000, но меньшего 10000, требуется уже четыре цифры. Первая цифра — количество полных тысяч, вторая — количество полных сотен, третья — количество полных десятков и четвертая — количество единиц.

Например:

2756=2000+700+50+6=2·1000+7·100+5·10+6=2·103+7·102+5·101+6·100=275610.

Количество цифр, используемых для десятичного представления числа, на единицу больше, чем показатель наибольшей степени 10, содержащейся в числе. Это связано с тем, что в представлении участвует нулевая степень числа 10. 



an+10n+ an-1 ·10n-1+···+ a1·101+ a0·100 (1)

Таким образом, любое целое неотрицательное число в десятичной системе счисления представляется в виде: 

где каждый из коэффициентов an, an-1,···, a1, a0 является одной из цифр от 0 до 9, называемых десятичными цифрами, причем an не равно 0. В десятичной системе записи числа первой записывается цифра an , второй — цифра an-1 и т.д., последней — цифра a0. Таким образом, десятичной записью целого неотрицательного числа является последовательность цифр ап ап-1 ... а0, являющихся коэффициентами представления этого числа в виде (1).

Общее количество цифр в десятичной записи числа равно количеству коэффициентов в представлении (1), т.е. n+1, где п — показатель наибольшей степени числа 10, содержащейся в исходном числе.





















Например:

30072=30000+70+2=3·104+0·103+0·102+7·101+2·100=3007210.

			    a4            a3           a2            a1            a0



832604=800000+30000+2000+600+4=8·105+3·104+2·103+6·102+0·101+4·100=83260410.

                                                               a5            a4            a3           a2            a1            a0

Коэффициенты в представлении (1) должны принимать значения от 0 до 9, причет коэффициент аn не должен быть равен нулю (ноль не может быть первой цифрой числа). Это обеспечивает однозначность такого представления. Если какой-либо из коэффициентов больше 9, то происходит переход к следующей степени. 

Например:

10·103=1·104; 12·104=(10+2) ·104=1·105+2·104.

Следовательно, набор десятичных цифр 0,1,2,3,4,5,6,7,8,9 обеспечивает однозначное представление любого целого неотрицательного числа в десятичной системе счисления.

3. Двоичная система счисления

Двоичная система счисления — это система, в которой для записи чисел используются две цифры 0 и 1. Основанием двоичной системы счисления является число 2. Для получения записи числа в двоичной системе используется представление этого числа с помощью степеней числа 2.

Рассмотрим на примерах, как представляются числа с помощью степеней числа 2. Предварительно приведем таблицу значений степеней числа 2.



n

0

1

2

3

4

5

6

7

8

9

10

2n

1

2

4

8

16

32

64

128

256

512

1024



Используя эту таблицу, можно записать:



0

=0·20

1

=20=1·20

2

=21=1·21+0·20

3

=2+1=21+20=1·21+1·20

4

=22=1·22+0·21+0·20

5

=4+1=22+20=1·22+0·21+1·20

6

=4+2=22+21=1·22+1·21+0·20

7

=4+2+1=22+21+20=1·22+1·21+1·20

25

=16+8+1=24+23+20=1·24+1·23+0·22+0·21+1·20

 

В общем виде представление целого неотрицательного числа с помощью степеней двойки записывается так же, как и представление (1) с заменой числа 10 на число 2:



an·2n+an-1 ·2n-1+···+ a1·21+a0·20 (2)

Здесь каждый из коэффициентов аn, an-1 ,···,a1, a0 является одной из двух двоичных цифр 0 или 1, причем an=1. Запись числа в двоичной системе строится так же, как и в десятичной: первой записывается цифра ап, второй — цифра ап-1 и т.д.,

последней — цифра а0.

Двоичный код числа — запись этого числа в двоичной системе счисления. 

Таким образом, двоичным кодом числа является последовательность коэффициентов ап an-1 ··· a1 a0 из представления (2). В приведенных примерах двоичные коды имели вид:



0

=

02

1

=

12

2

=

102

3

=

112

4

=

1002

5

=

1012

6

=

1102

7

=

1112

25

=

110012

120

=

11110002

Коэффициенты в представлении (2) должны принимать только одно из двух значений: 0 или 1. Это обеспечивает однозначность такого представления.

Если какой-либо из коэффициентов больше 1, то происходит переход к следующей степени числа 2. 

Например:

2·2n=1·2n+1; 3·2n=(2+1) ·2n=1·2n+1+1·2n.

Старший коэффициент аn всегда равен 1, т.е. двоичный код всегда начинается с 1 (так же, как и десятичная, запись числа не может начинаться с нуля). Чтобы лучше понимать, как получается двоичный код некоторого числа, представим себе последовательность разрядов, каждый из которых может содержать только одну из двоичных цифр 0 или 1, т.е. один бит информации. В дальнейшем под битом и разрядом будем понимать одно и то же. 

Пронумеруем разряды справа налево. Номер самого правого (младшего) разряда равен нулю. Номер самого левого (старшего) разряда равен показателю наибольшей степени двойки, содержащейся в числе. Значит, всего разрядов, с учетом нулевого, на один больше, чем номер старшего разряда (если номер старшего разряда равен 7, то всего разрядов 8 с номерами от 0 до 7). Номер каждого разряда равен показателю соответствующей степени двойки.



n    n-1                                                           1     0



 2n   2n-1                                                          21    20













Содержимое разряда с номером n равно 1, если 2n участвует в представлении числа в виде суммы степеней двойки, и 0, если не участвует.

Посмотрим, как получается двоичное представление, например, числа 25. Число 25 представляется в виде суммы чисел из этой строки: 25=16+8+1. Каждое число берется только один раз — это обеспечивает однозначность двоичного кода. Затем выбранные числа заменяются равными им степенями двойки из верхней строчки таблицы: 16=24, 8=23, 1=20; 25=24+23+20. И, наконец, разряды, номера которых равны числам, выбранным из первой строчки таблицы (4,3,0) заполняются единицами, а остальные — нулями.



25=16+8+1=24+23+20=

=1·24+1·23+0·22+0·21+1·20



n

4

3

2

1

0

an

1

1

0

0

1



4. Сколько чисел можно записать с помощью n битов

Уже описано, как получать двоичный код любого десятичного числа, т.е. переводить его из десятичной системы в двоичную. Рассмотрим теперь обратное действие: перевод числа из двоичной системы счисления в десятичную. 

Итак, требуется найти десятичное число по известному двоичному коду этого числа. Воспользуемся представлением вида (2). Коэффициенты аn, an-l ,···,a1, a0 известны. Значит, нужно вычислить значение выражения (2). Рассмотрим примеры. Пусть задан двоичный код 11012. Самый левый — старший бит — имеет номер 3. Следовательно, первое слагаемое равно 1·23. Следующий бит имеет  номер 2. Второе слагаемое равно 1·22. Третье слагаемое равно 0·21 четвертое слагаемое равно 1·20. Искомое число есть сумма четырех слагаемых: 1·23+1·22+0·21+1·20=8+4+1=13. Таким образом, 11012=13. 

Пусть задан двоичный код 11010112. Число, имеющее такой двоичный код, равно сумме 1·26+1·25+0·24+1·23+0·22+1·21+1·20=64+32+8+2+1=107.

Следовательно, 11010112=107.

В десятичной системе следующее число получается из предыдущего путем прибавления единицы к количеству единиц предыдущего числа. 

То же самое происходит при получении двоичного кода следующего числа из двоичного кода предыдущего: к младшему разряду двоичного кода предыдущего числа прибавляется единица. 

Правило выполнения операции сложения одинаково для всех систем счисления: если сумма складываемых цифр больше или равна основанию системы счисления, происходит перенос единицы в следующий слева разряд. Таким образом, правила сложения в двоичной системе таковы:



12+02=12

02+12=12

12+12=102	(1+1=210=102)

Пользуясь этими правилами, получаем

+

 112





 12





1002=410

+

102





12





112=310

+

1002





 12





1012=510

+

1012





 12





1102=610

+

1102





 12





1112=710

+

 1112





 12





10002=810

Возникает вопрос: какое наибольшее десятичное число можно записать в двоичном виде, используя для этой записи заданное число битов? 

Наибольшее десятичное число, использующее для записи своего двоичного кода три бита, получается, когда значения всех трех битов равны единице:

1

1

1

=1·22+1·21+1·20=22+21+20=4+2+1=7.



8=

1

0

0

0

(Точно так же, как в десятичной системе, наибольшее число, состоящее из трех цифр, — 999, получаем, когда каждая из цифр принимает свое максимальное значение, равное 9). Заметим, что 7=8-1=23-1. Чтобы представить следующее за 7 число 8 (=23), потребуется уже четыре бита: . Значит, используя три бита, можно записывать восемь десятичных чисел от 0 до 7. 



А если для записи десятичного числа в двоичном виде используется четыре бита? Наибольшее число, двоичный код которого состоит из четырех битов, равно 15: в его двоичном коде все четыре бита, равны единице: 15 = 11112. Снова заметим, что 15=16-1=24-1; для записи следующего за 15 числа 16 нужно уже пять битов. Так что используя четыре бита, можно записывать числа от 0 до 15 (всего 16 = 24 чисел). Уже понятно, что наибольшее число, использующее для своей двоичной записи а битов, равно 2n -1. Следующее за ним число 2n требует для своей записи n+1 бит. Таким образом, используя п битов, можно записывать двоичные коды чисел от 0 до 2n -1, всего 2n чисел.

5. Как измеряется количество информации в компьютере

В информатике принято рассматривать последовательности битов длиной 8. Такая последовательность называется байтом и является следующей за битом единицей измерения количества информации в компьютере. 

С помощью одного байта можно записывать двоичные коды 28 = 256 чисел от 0 до 255. Байты объединяются в последовательности длиной 1024 (=210). Такая последовательность называется килобайтом (Кбайт) и также используется для измерения количества информации в компьютере. Обычно приставка «кило-» обозначает, что берется 1000 единиц измерения. Например, 1 килограмм равен 1000 граммам, 1 километр равен 1000 метрам. Ближайшее к тысяче число, являющееся степенью числа 2, есть 210=1024. Именно 1024 байта и называется килобайтом (Кбайт).

Последовательность из 1024 Кбайтов называется мегабайтом (Мбайт), из 1024 Мбайтов — гигабайтом (Гбайт), из 1024 Гбайтов — терабайтом (Тбайт).

Бит, байт, килобайт, мегабайт — основные единицы измерения количества информации в компьютере.



1 байт

=

8

битов

1 Кбайт

=

1024

байта

1 Мбайт

=

1024

Кбайта

1 Гбайт

=

1024

Мбайта



Итак, с помощью двоичных кодов цифры и их последовательности (числа) становятся понятными компьютеру. Процесс преобразования информации представляется в виде схемы:



Информация



Числа



Двоичные коды













Эта схема, читаемая слева направо, отображает способ поступления информации извне в компьютер. Преобразование входной информации в двоичные коды выполняют устройства ввода информации. Эта же схема, читаемая справа налево, отображает способ представления результатов работы компьютера — выходной информации. Преобразование двоичных кодов результирующих данных в выходную информацию выполняют устройства вывода информации.

Память компьютера содержит информацию только в двоичном виде (в виде 0 и 1), и ЦП выполняет действия только с данными, представленными в двоичной системе.

6. Шестнадцатеричная система счисления



an·16n+an-1·16n-1+···+ a1·161+a0·160 (3)

Шестнадцатеричная система счисления — это система счисления, в которой основанием является число 16. Любое целое положительное число представляется в этой системе с помощью степеней числа 16 в виде 

Шестнадцатеричной записью целого положительного числа является последовательность коэффициентов ап an-1 ... al a0 из представления (3).

Например:

31210=25610+4810+810=1·162+3·161+8·160=13816.

Для того чтобы представление числа в шестнадцатеричной системе было однозначным, значения коэффициентов при степенях числа шестнадцать должны быть целыми числами от 0 до 15. Если значение коэффициента взять равным 16, то умножение какой-то степени числа 16 на этот коэффициент дает следующую степень числа 16: 16·16n=1·16n+1; 25·16n=(16+9) ·16n=1·16n+1+9·16n.

В качестве коэффициентов для записи чисел в шестнадцатеричной системе берутся шестнадцать символов: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, Е, F. Они называются шестнадцатеричными цифрами. Десятичные цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 сохраняют свои значения и в шестнадцатеричной системе: 010=016, 110=116, 910=916. Символы А, В, С, D, Е, F соответствуют десятичным числам от 10 до 15:



1010

=

A



1310

=

D

1110

=

B



1410

=

E

1210

=

C



1510

=

F



Рассмотрим примеры перехода от записи чисел в десятичной системе к их записи в шестнадцатеричной системе:

2710=1610+1110=1·161+1110·160=1·161+B·160=1B16.

Введение шестнадцатеричных цифр А, В, С, D, Е, F является необходимым, т.к. при использовании в качестве коэффициентов в записи шестнадцатеричных чисел 10, 11,...15 появляется неоднозначность в их прочтении. Следующий пример демонстрирует, как в таком случае можно прочесть одно число тремя различными способами:

11016

=

1·162

+

1

·

161

+

0

·

160

=

27210

11016

=





11

·

161

+

0

·

160

=

17610

11016

=





1

·

161

+

10

·

160

=

2610



Использование шестнадцатеричных цифр приводит к однозначному прочтению чисел:

27210

=

11016

17610

=

B016

2610

=

1A16

Применение шестнадцатеричной системы счисления в информатике удобно в связи с тем, что содержимое одного байта можно записать двумя шестнадцатеричными цифрами. Действительно, для записи любой шестнадцатеричной цифры достаточно четырех битов. Максимальная шестнадцатеричная цифра F=1510 имеет двоичный код 1111. Один байт - это 8 битов, которые можно разделить на две части: четыре младших бита с номерами от 0 до 3 и четыре старших бита с номерами от 4 до 7.

Содержимое каждой части можно записать одной шестнадцатеричной цифрой, а содержимое байта — двумя: первая — 4 старших бита, вторая — 4 младших бита.

Таким образом, любое число от 0 до 255 (содержимое 1 байта) можно записать двумя шестнадцатеричными цифрами.

7. Кодировка символов

Компьютеры могут обрабатывать только информацию, представленную в числовой форме. При вводе документов, текстов программ и т.д. (например, вводе с клавиатуры) вводимые символы кодируются определёнными числами, а при выводе их для чтения человеком (на монитор, принтер и т.д.) по каждому числу (коду символа) строится изображение символа. Соответствие между набором символов и их кодами называется кодировкой символов.

Как правило, код символа хранится в одном байте, поэтому коды символов могут принимать значения от 0 до 255. Такие кодировки называются однобайтными, они позволяют использовать до 256 различных символов. Впрочем, в настоящее время всё большее распространение приобретает двухбайтная кодировка Unicode, в ней коды символов могут принимать значения от 0 до 65535. В этой кодировке имеются номера для практически всех применяемых символов (букв алфавитов разных языков, математических, декоративных символов и т.д.).

В графической среде Windows кодовые таблицы, разработанные для IBM PC, являются во многом устаревшими. Действительно в Windows, как правило, не требуются так называемые «псевдографические символы», использовавшиеся в текстовом режиме DOS-программ для рисования линий и диаграмм: в Windows можно нарисовать любые линии или диаграммы непосредственно.

При использовании программ для DOS и для Windows пользователь вынужден работать с двумя различными кодировками символов: одна используется в DOS-программах, другая — в Windows-программах. В терминологии Windows первая кодировка называется OEM-кодировкой, вторая — ANSI-кодировкой. Windows содержит стандартные функции для перекодировки из OEM в ANSI и обратно. Многие Windows-программы (редакторы текстов, табличные процессоры и т.д.) при экспорте и импорте файлов в формате программ для DOS автоматически выполняют преобразование из OEM в ANSI и обратно.



Таблица кодировки символов

Выводы

Несмотря на многообразие решаемых с помощью компьютера задач, принцип его применения в каждом случае один и тот же: информация, поступающая в компьютер, обрабатывается с целью получения требуемых результатов. Компьютер может обрабатывать только информацию, представленную в числовой форме. Вся другая информация (звуки, изображения и т.д.) для обработки должна быть преобразована в числовую форму. Для обработки на компьютере текстовой информации обычно при вводе в компьютер каждая буква кодируется определённым числом, а при выводе на внешние устройства для восприятия человеком по этим числам строятся соответствующие изображения букв.

Список литературы

И.Т. Зарецкая, Б.Г. Колодяжный. Информатика. Киев: Форум, 2001.—496 с.

В.Э. Фигурнов. IBM PC для пользователя. Москва: ИНФРА-М, 1999.—480 с.