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

Системы счисления

Совокупность приемов записи и наименования чисел называется системой счисления. Если для записи числа используется бесконечное множество символов, то система счисления называется непозиционной. Примером непозиционной системы счисления может служить римская: для записи числа один используется буква I, два и три выглядят как II, III, но для записи числа пять выбирается новый символ V, шесть — VI, десять — вводится символ X, сто — С, тысяча — М и т.д. Такой подход не удобен, поскольку бесконечный ряд чисел потребует бесконечного числа символов для записи чисел. Кроме того, такой способ записи чисел приводит к очень сложным правилам арифметики.

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

В повседневной жизни мы пользуемся десятичной позиционной системой счисления, q = 10, т.е. используется 10 цифр: от 0 до 9.

Рассмотрим правила записи чисел в позиционной десятичной системе счисления. Числа от 0 до 9 записываются цифрами, для записи следующего числа цифры не существует, поэтому вместо 9 пишут 0, но левее нуля образуется еще один разряд, называемый старшим, где записывается (прибавляется) 1, в результате получается 10. Затем пойдут числа 11, 12, но на 19 опять младший разряд заполнится и мы его снова заменим на 0, а старший разряд увеличим на 1, получим 20. Далее по аналогии 30, 40 ... 90, 91, 92 ... до 99. Здесь заполненными оказываются два разряда сразу; чтобы получить следующее число, мы заменяем оба на 0, а в старшем разряде, теперь уже третьем, поставим 1 (т.е. получим число 100) и т.д. Очевидно, что, используя конечное число цифр, можно записать любое сколь но большое число. Выполнение арифметических действий в десятичной системе счисления весьма просто. Число в позиционной системе счисления с основанием q может быть представлено в виде полинома по степеням q. Например, в десятичной системе мы имеем число

Преобразование чисел из одной системы счисления в другую - student2.ru

а в общеём виде это правило запишется так:

Преобразование чисел из одной системы счисления в другую - student2.ru

Преобразование чисел из одной системы счисления в другую - student2.ru (3.1)

Здесь Преобразование чисел из одной системы счисления в другую - student2.ru — запись числа в системе счисления с основанием Преобразование чисел из одной системы счисления в другую - student2.ru ;

Преобразование чисел из одной системы счисления в другую - student2.ru — натуральные числа меньше Преобразование чисел из одной системы счисления в другую - student2.ru , т.е. цифры;

Преобразование чисел из одной системы счисления в другую - student2.ru — число разрадов целой части;

Преобразование чисел из одной системы счисления в другую - student2.ru — число разрядов дробной части.

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

Преобразование чисел из одной системы счисления в другую - student2.ru

В информатике, вследствие применения электронных средств вычислительной техники, большое значение имеет двоичная система счисления, q = 2. На ранних этапах развития вычислительной техники арифметические операции с действительными числами производились в двоичной системе ввиду простоты их реализации в ЭВМ. Но запись числа в двоичной системе счисления длиннее записи того же числа в десятичной системе счисления в log2 10 раз (примерно в 3,3 раза).

На начальном этапе развития ЭВМ для ввода/вывода информации применялись восьмеричная и шестнадцатеричная системы счисления. Восьмеричная система счисления имеет восемь цифр: 0 1 2 3 4 5 6 7. Шестнадцатеричная — шестнадцать, причем первые 10 цифр совпадают по написанию с цифрами десятичной системы счисления, а для обозначения оставшихся шести цифр применяются большие латинские буквы, т.е. для шестнадцатеричной системы счисления получим набор цифр: 0 1 2 3 4 5 6 7 8 9 A B C D E F.

Одно и то же число 231, записанное в десятичной системе, запишется в двоичной, восьмеричной и шестнадцатеричной системах счисления следующим образом:

Преобразование чисел из одной системы счисления в другую - student2.ru

Начало натурального ряда в десятичной, двоичной, восьмеричной и шестнадцатеричной системах счисления имеет вид:

Преобразование чисел из одной системы счисления в другую - student2.ru

Преобразование чисел из одной системы счисления в другую - student2.ru

Диапазон чисел Преобразование чисел из одной системы счисления в другую - student2.ru , представляемы при помощи n - разрядного кода системы счисления c основанием q находится как:

Преобразование чисел из одной системы счисления в другую - student2.ru

При помощи 3-х разрядов десятичной с/с можно представить Преобразование чисел из одной системы счисления в другую - student2.ru чисел от 0 до 999.

При помощи 2-х разрядов двоичной с/с можно представить Преобразование чисел из одной системы счисления в другую - student2.ru чисел: 00, 01, 10, 11.

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

Переход от произвольной ( Преобразование чисел из одной системы счисления в другую - student2.ru ) системы счисления к десятичной, удобно выполнять на основе выражения(3.1), например:

Преобразование чисел из одной системы счисления в другую - student2.ru

Преобразование чисел из одной системы счисления в другую - student2.ru

Преобразование чисел из одной системы счисления в другую - student2.ru

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

Рассмотрим алгоритм на примере перевода десятичного числа 231 в двоичную систему (совершенно аналогичен перевод из десятичной системы в любую Преобразование чисел из одной системы счисления в другую - student2.ru -ичную). Разделим число на два (основание системы): нацело 231 : 2 = 115 и остаток 1, т.е. можно записать

Преобразование чисел из одной системы счисления в другую - student2.ru

Число 115 (такой двоичной цифры нет) тоже может быть разделено нацело на 2, т.е. 115 : 2 = 57 и остаток 1. И так далее. Запишем процесс деления следующим образом:

Преобразование чисел из одной системы счисления в другую - student2.ru

Преобразование чисел из одной системы счисления в другую - student2.ru

Читая частное и остатки от деления в порядке, обратном получению, получим двоичную запись числа. Такой способ перевода чисел называется правилом (алгоритмом) последовательного деления, очевидно, что он применим для любого основания.

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

Аналогично Преобразование чисел из одной системы счисления в другую - student2.ru или

или Преобразование чисел из одной системы счисления в другую - student2.ru , но Преобразование чисел из одной системы счисления в другую - student2.ru и так далее получим правило (алгоритм) последовательного умножения:

Преобразование чисел из одной системы счисления в другую - student2.ru

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

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

Между двоичной системой счисления, с одной стороны, и восьмеричной и шестнадцатеричной (заметим, 8 и 16 — есть третья и четвертая степени двойки) — с другой, существует связь, позволяющая легко переводить числа из одной системы в другую.

Переход от двоичного числа к восьмеричному и шестнадцатеричному производится путем разбиения двоичного числа на триады (три разряда) и тетрады (четыре разряда) соответственно влево и вправо от запятой с последующей заменой триад и тетрад на их символьные эквиваленты в соответствии с табл.3.1. Недостающие позиции в триадах и тетрадах заполняются нулями.

Таблица 3.1. Представление чисел.

10 c/c 2 c/c 8 c/c 16 c/c
A
B
C
D
E
F

Переведем число Преобразование чисел из одной системы счисления в другую - student2.ru в восьмеричную систему счисления. Для этого разобьем двоичное число на триады, начиная слева направо Преобразование чисел из одной системы счисления в другую - student2.ru . В случае, если в крайней левой триаде не достаточно разрядов, допишем слева недостающие нули Преобразование чисел из одной системы счисления в другую - student2.ru . Далее при помощи таблицы 3.1 заменим двоичные триады на их символьные эквиваленты из колонки восьмеричной системы счисления Преобразование чисел из одной системы счисления в другую - student2.ru .

Переведем число Преобразование чисел из одной системы счисления в другую - student2.ru в шестнадцатеричную систему счисления. Для этого разобьем двоичное число на титрады, начиная слева направо Преобразование чисел из одной системы счисления в другую - student2.ru . В случае, если в крайней левой титраде не достаточно разрядов, допишем слева недостающие нули Преобразование чисел из одной системы счисления в другую - student2.ru . Далее при помощи таблицы 3.1 заменим двоичные титрады на их символьные эквиваленты из колонки шестнадцатеричной системы счисления Преобразование чисел из одной системы счисления в другую - student2.ru .

Двоичная арифметика

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

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

 
Двоичное сложение Двоичного вычитания Двоичного умножения
0 + 0 = 0 0 – 0 = 0 0 * 0 = 0
1 + 0 = 1 1 – 0 = 1 1 * 0 = 0
0 + 1 = 1 1 – 1 = 0 0 * 1 = 0
1 + 1 = 10 10 – 1 = 1 1 * 1 = 1

Правила арифметики во всех позиционных системах аналогичны (10 с/с, 2 с/с, 8 с/с и 16 с/с). Поэтому действия над двоичными числами производятся подобно сложению, вычитанию, умножению и делению целых, дробных десятичных и смешанных чисел в 10 с/с в соответствии с табл.2.2.

Пример. Заданы B = 110,12 и C = 102.

Вычислить Д1 = B + C, Д2 = B – C, Д3 = B x C, Д4 = B / C.

+ 0,   + 6,       - 0,   - 6,                
                                     
0, 2   8, 10       0, 2   4, 10              
                                                         
                                                         
  * 0,   * 6,     110,1 / 10 = 11,012; 6,5 / 2 = 3,2510  
                                               
+           3, 10   -     - 6,      
                1, 2   3, 10
  1, 2             -           -        
                                             
                              -         -      
                                           
                                                     

Д1 = 1000,12; Д2 = 100,12; Д3 = 11012; Д4 = 11,012.

Благодаря простой двоичной арифметике при работе в 2 с/с упрощаются схемы арифметических устройств.

Наши рекомендации