Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции информатика (бакалавры).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.28 Mб
Скачать

2.1. Двоичное кодирование

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

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

Минимальная единица измерения информации (0 или 1) называется бит. Для обозначения любого печатного символа, буквы или цифры используется группа из 8 битов – 1 байт.

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

1 килобайт (Кбайт) = 210 (1024) байт,

1 мегабайт (Мбайт) = 210 (1024) Кбайт,

1 гигабайт (Гбайт) = 210 (1024) Мбайт,

1 терабайт (Тбайт) = 210 (1024) Гбайт.

1 Петабайт (Пбайт) = 1024 Тбайт = 250 байт.

С помощью двоичных цифр можно закодировать любое количество состояний, объектов или событий. Количество информации в битах можно определить по формуле N = 2К, где К - число состояний.

Например, для кодирования 32 букв русского алфавита (считая е и ё одной буквой), понадобится пять двоичных цифр, т. к. 32 = 25. В этом случае одна буква алфавита содержит 5 битов информации.

Компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:

  • для ее реализации нужны технические устройства с двумя устойчивыми состояниями (есть ток — нет тока, намагничен — не намагничен и т.п.), а не, например, с десятью, — как в десятичной;

  • представление информации посредством только двух состояний надежно и помехоустойчиво;

  • возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;

  • двоичная арифметика намного проще десятичной.

Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи чисел.

Двоичная система счисления неэкономична для записи чисел. Она требует больше разрядов, чем запись того же числа в других системах.

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

2.2. Системы счисления, используемые в компьютерах

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

Система счисления — это способ записи чисел с помощью заданного набора специальных знаков (цифр).

Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно:

  • двоичная (используются цифры 0, 1);

  • восьмеричная (используются цифры 0, 1, ..., 7);

  • шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1, ..., 9, а для следующих чисел — от десяти до пятнадцати – в качестве цифр используются символы A, B, C, D, E, F).

Алфавит систем счисления состоит из символов, которые называются цифрами (таблица 2.1).

Таблица 2.1 - Алфавиты некоторых систем счисления

Основание

Система

Алфавит

2

Двоичная

0, 1

8

Восьмеричная

0, 1, 2, 3, 4, 5, 6, 7

10

Десятичная

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

16

Шестнадцатеричная

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (10), B (11),C (12), D (13), E (14), F (15)

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

Таблица 2.2 - Примеры записи чисел в различных системах счисления

Десятичная система

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

Восьмеричная система

0

00000000

0

1

00000001

1

2

00000010

2

3

00000011

3

4

00000100

4

5

00000101

5

6

00000110

6

7

00000111

7

8

00001000

10

9

00001001

11

Продвижением цифры называют замену её следующей по величине. Продвинуть цифру 1 значит заменить её на 2, продвинуть цифру 2 значит заменить её на 3 и т.д. Продвижение старшей цифры (например, цифры 9 в десятичной системе) означает замену её на 0. В двоичной системе, использующей только две цифры – 0 и 1, продвижение 0 означает замену его на 1, а продвижение 1 – замену её на 0.

Целые числа в любой системе счисления порождаются с помощью Правила счета.

Для образования целого числа, следующего за любым данным целым числом, нужно продвинуть самую правую цифру числа; если какая-либо цифра после продвижения стала нулем, то нужно продвинуть цифру, стоящую слева от неё.

Существуют позиционные и непозиционные системы счисления.

В непозиционных системах вес цифры (т.е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.

В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая – 7 единиц, а третья – 7 десятых долей единицы.

Сама же запись числа 757,7 означает сокращенную запись выражения

700 + 50 + 7 + 0,7 = 7•102 + 5•101 + 7•100 + 7•10-1 = 757,7.

Любая позиционная система счисления характеризуется своим основанием.

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

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

an-1 qn-1 + an-2 qn-2+ ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m,

где ai – цифры системы счисления; n и m – число целых и дробных разрядов, соответственно.

Формы представления чисел:

свернутой (неявной) форме, для которой не указывается вес разряда;

развернутой (явной) форме, для которой указывается вес каждого разряда.

Приведем примеры записи чисел в различных системах счисления.

Пример записи числа в десятичной системе счисления:

– в свернутой форме – 28710;

– в развернутой форме

28710 = 2.102 + 8.101 + 7.100,

где 10 - основание десятичной системы (обозначено подстрочным индексом).

Пример записи числа в двоичной системе счисления:

– в свернутой форме – 10112;

– в развернутой форме

10112=1*23+0*22+1*21+1*20

где 2 - основание двоичной системы (обозначено подстрочным индексом).

Перевод целых чисел. Для перевода целого числа Аq из -ичной системы счисления в систему счисления с основанием d необходимо Аq разделить с остатком («нацело») на число d, записанное в той же -ичной системе. Затем неполное частное, полученное от такого деления, нужно снова разделить с остатком на d и т. д., пока последнее полученное неполное частное не станет равным нулю. Представлением числа Аq в новой системе счисления будет последовательность остатков деления, изображенных d-ичной цифрой и записанных в порядке, обратном порядку их получения.

Пример. Переведем число А10=47 в двоичную систему с использованием десятичной арифметики.

d=2:

47:2=23(1);

23:2=11(1);

11:2=5(1);

5:2=2(1);

2:2=1(0);

1:2=0(1).

Поскольку числа ноль и единица в обеих системах счисления обозначаются одинаковыми цифрами 0 и 1, то в процессе деления сразу получим двоичные изображения искомых цифр: А2=101111.

Перевод числа из системы с произвольным основанием в десятичную систему счисления осуществляется с помощью формулы разложения этого числа по степеням основания .

Например:

1102 = 1.22 + 1.21 + 0.20 = 610,

1108 = 1.82 + 1.81 + 0.80 = 7210,

11016 = 1.162 + 1.161 + 0.160 = 27210,

Перевод числа из системы с произвольным основанием в двоичную систему. Для того чтобы целое двоичное число записать в системе счисления с основанием (4, 8, 16 и т. д.), нужно

  1. Данное двоичное число разбить справа налево на группы по n цифр в каждой.

  2. Если в последней левой группе окажется меньше n разрядов, то ее надо дополнить слева нулями до нужного числа разрядов.

  3. Рассмотреть каждую группу как n-разрядное двоичное число и записать ее соответствующей цифрой в системе счисления с основанием .

Для того чтобы произвольное число, записанное в системе счисления с основанием , перевести в двоичную систему счисления, нужно каждую цифру этого числа заменить ее n-разрядным эквивалентом в двоичной системе счисления

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

Например:

2058 = 010 000 1012 = 100001012;

1010101102 = 101 010 1102 = 5268;

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

Например:

2Е516 = 0010 1110 01012 = 10111001012.

11111011012 = 0011 1110 11012 = 3ЕD16

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

Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр).