Тема 3. Системы счисления

Тема 3. Системы счисления

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

Примеры.

1. Десятичное число А10=4718,63 в развернутой форме запишется так:

А10=4·103+7·102+1·101+8·100+6·10-1+3·10-2

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

В двоичной системе счисления основание q=2. В этом случае формула для числа принимает вид:

А2= ±(an-12n-1+an-22n-2+...+a020+a-12-1+a-22-2+...+a-m2-m),

здесь аi — возможные цифры (0, 1). Итак, двоичное число представляет собой цепочку из нулей и единиц. При этом оно имеет достаточно большое число разрядов. Быстрый рост числа разрядов — самый существенный недостаток двоичной системы счисления. Записав двоичное число А2=1001,1 в развернутом виде и произведя вычисления, получим это число, выраженное в десятичной системе счисления:

А2=1·23+0·22+0·21+1·20+1·2-1 = 8+1+0,5 = 9,510.

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

Основание: q=8. Алфавит: 0, 1, 2, 3, 4, 5, 6, 7. Записав восьмеричное число А8=7764,1 в развернутом виде и произведя вычисления, получим это число, выраженное в десятичной системе счисления:

А8=7·83+7·82+6·81+4·80+1·8-1 = 3584 + 448 + 48 + 4 + 0,125 = 4084,12510

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

Основание: q=16. Алфавит: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Здесь только десять цифр из шестнадцати имеют общепринятое обозначение 0,1, …9. Для записи остальных цифр (10, 11, 12, 13, 14 и 15) обычно используются первые пять букв латинского алфавита.

Таким образом, запись 3АF16 означает:

3АF16 = 3·162+10·161+15·160 = 768+160+15 = 94310.

 

Перевод чисел из одной системы счисления в другую

Можно сформулировать алгоритм перевода целых чисел из системы с основанием p в систему с основанием q: 1. Основание новой системы счисления выразить цифрами исходной системы… 2. Последовательно выполнять деление данного числа и получаемых целых частных на основание новой системы счисления до…

Примеры.

1. Перевести десятичное число 17310 в восьмеричную систему счисления:

 
 

Получаем: 17310=2558

2. Перевести десятичное число 17310 в шестнадцатеричную систему счисления:

(D) (A)

Получаем: 17310=AD16.

3. Перевести десятичное число 1110 в двоичную систему счисления. Рассмотренную выше последовательность действий (алгоритм перевода) удобнее изобразить так:

   
 
 
   

Получаем: 1110=10112.

3.3.2. Перевод дробных чисел из одной системы счисления в другую

Можно сформулировать алгоритм перевода правильной дроби с основанием p в дробь с основанием q:

1. Основание новой системы счисления выразить цифрами исходной системы счисления и все последующие действия производить в исходной системе счисления.

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

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

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

Примеры.

1. Перевести число 0,6562510 в восьмеричную систему счисления.

0, × 8
× 8

Получаем: 0,6562510=0,528

2. Перевести число 0,6562510 в шестнадцатеричную систему счисления.

0, × 16
(А) × 16

Получаем: 0,6562510=0,А81

3. Перевести десятичную дробь 0,562510 в двоичную систему счисления.

0, × 2
× 2
× 2
× 2

Получаем: 0,562510=0,10012

4. Перевести в двоичную систему счисления десятичную дробь 0.710.

0, ×2
×2
×2
×2

. . .

Очевидно, что этот процесс может продолжаться бесконечно, давая все новые и новые знаки в изображении двоичного эквивалента числа 0,710. Так, за четыре шага мы получаем число 0,10112, а за семь шагов число 0,10110012, которое является более точным представлением числа 0,710 в двоичной системе счисления, и т.д. Такой бесконечный процесс обрывают на некотором шаге, когда считают, что получена требуемая точность представления числа.

3.3.3. Перевод произвольных чисел

Перевод произвольных чисел, т.е. чисел, содержащих целую и дробную части, осуществляется в два этапа. Отдельно переводится целая часть, отдельно — дробная. В итоговой записи полученного числа целая часть отделяется от дробной запятой (точкой).

Примеры.

1. Перевести число 17,2510 в двоичную систему счисления.

Переводим целую часть: Переводим дробную часть:
17 2 1 8 2 0 4 2 0 2 2 0 1 0, 25 ×2 0 50 ×2 1 00

Получаем: 17,2510=1001,012

2. Перевести число 124,2510 в восьмеричную систему.

Переводим целую часть: Переводим дробную часть:
124 8 4 15 8 7 1 0, 25 ×8 2 00

Получаем: 124,2510=174,28

3.3.4. Перевод из двоичной в восьмеричную и шестнадцатеричную системы

Для этого типа операций существует упрощенный алгоритм.

Для восьмеричной — разбиваем число на триплеты, преобразуем триплеты по таблице

000 0 100 4001 1 101 5010 2 110 6011 3 111 7

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

0000 0 0100 4 1000 8 1100 C0001 1 0101 5 1001 9 1101 D0010 2 0110 6 1010 A 1110 E0011 3 0111 7 1011 B 1111 F

Пример.Преобразуем число 1011002:

восьмеричная — 101 100 → 548;шестнадцатеричная — 0010 1100 → 2C16.

3.3.5. Перевод из восьмеричной и шестнадцатеричной систем в двоичную

Для этого типа операций существует упрощенный алгоритм-перевёртыш.

Для восьмеричной — преобразуем по таблице в триплеты

0 000 4 1001 001 5 1012 010 6 1103 011 7 111

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

0 0000 4 0100 8 1000 C 11001 0001 5 0101 9 1001 D 11012 0010 6 0110 A 1010 E 11103 0011 7 0111 B 1011 F 1111

Пример.Преобразуем:

548 → 101 1002C16 → 0010 1100