Смекни!
smekni.com

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

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

Итак, требуется найти десятичное число по известному двоичному коду этого числа. Воспользуемся представлением вида (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.

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

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

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

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

+ 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.
(Точно так же, как в десятичной системе, наибольшее число, состоящее из трех цифр, — 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. Шестнадцатеричная система счисления

Шестнадцатеричная система счисления — это система счисления, в которой основанием является число 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 можно нарисовать любые линии или диаграммы непосредственно.