Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ ИиИКТ 1.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
240 Кб
Скачать
☆

Представление числовой информации в двоичной и восьмеричной системах счисления Теоретические сведения

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

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

Чтобы не путать, в какой системе счисления записано число, его снабжают указателем справа внизу. Например, число в десятичной системе 510, в двоичной 1012. Иногда двоичное число обозначают префиксом 0b (b – binary), например 0b101.

В двоичной системе счисления (как и в других системах счисления, кроме десятичной) знаки читаются по одному. Например, число 1012 произносится «один нуль один».

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

…

512

256

128

64

32

16

8

4

2

1

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

Приведем пример:

Допустим, дано двоичное число 1100012. Для перевода в десятичное запишем его как сумму по разрядам следующим образом:

1 * 25 + 1 * 24 + 0 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 4910;

То же самое чуть иначе:

1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 32 + 16 + 0 + 0 + 1 = 4910;

Можно записать это в виде таблицы следующим образом:

…

512

256

128

64

32

16

8

4

2

1

1

1

0

0

0

1

+32

+16

+0

+0

+0

+1

Двигайтесь справа налево. Под каждой двоичной единицей запишем её эквивалент в строчке ниже. Сложим получившиеся десятичные числа. Таким образом, двоичное число 1100012 равнозначно десятичному 4910.

Преобразование дробных чисел. Допустим, нужно перевести число 1011010,1012 в десятичную систему. Запишем это число следующим образом:

1 * 26 + 0 * 25 + 1 * 24 + 1 * 23 + 0 * 22 + 1 * 21 + 0 * 20 + 1 * 2-1 + 0 * 2-2 + 1 * 2-3 = 90,62510

То же самое чуть иначе:

1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,62510

Или по таблице:

…

64

32

16

8

4

2

1

0.5

0.25

0.125

…

1

0

1

1

0

1

0.

.1

0

1

+64

+0

+16

+8

+0

+2

+0

+0.5

+0

+0.125

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

19 /2 = 9 с остатком (1)

9 /2 = 4 c остатком (1)

4 /2 = 2 без остатка (0)

2 /2 = 1 без остатка (0)

1 /2 = 0 с остатком (1)

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

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

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

  1. Дробь умножается на основание двоичной системы счисления (2);

  2. В полученном произведении выделяется целая часть, которая принимается в качестве старшего разряда числа в двоичной системе счисления;

  3. Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются над дробной частью произведения.

Пример: Требуется перевести дробное десятичное число 206,116 в дробное двоичное число.

Перевод целой части дает 20610=110011102 по ранее описанному алгоритму. Дробную часть 0,116 умножаем на основание 2, занося целые части произведения в разряды после запятой искомого дробного двоичного числа:

0,116 • 2 = 0,232

0,232 • 2 = 0,464

0,464 • 2 = 0,928

0,928 • 2 = 1,856

0,856 • 2 = 1,712

0,712 • 2 = 1,424

0,424 • 2 = 0,848

0,848 • 2 = 1,696

0,696 • 2 = 1,392

0,392 • 2 = 0,784

и т. д.

Таким образом 0,11610 ≈ 0,00011101102. Получим: 206,11610 ≈ 11001110,00011101102