Человек и Вселенная / Аватар МГИ Виктор Даукште

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

Занятие МАИ 23.01.2016. Системы счисления. Позиционные системы счисления.

Система счисле́ния (англ. numeral system или system of numeration) — символический метод записи чисел, представление чисел с помощью письменных знаков.
Запись числа в некоторой системе счисления называется кодом числа.
Отдельную позицию в изображении числа принято называть разрядом, а номер позиции - номером разряда. Число разрядов в записи числа называется разрядностью и совпадает с его длиной. Системы счисления подразделяются на:
 •позиционные;
 •непозиционные;
 •смешанные.


В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее позиции в последовательности цифр, изображающих число. Любая позиционная система характеризуется своим основанием. Основание позиционной системы счисления - это количество различных знаков или символов, используемых для изображения цифр в данной системе. За основание можно принять любое натуральное число - два, три, четыре, шестнадцать и т.д. Следовательно, возможно бесконечное множество позиционных систем.
Примеры позиционной системы счисления - двоичная, десятичная, восьмеричная, шестнадцатеричная системы счисления и т. д.
Наиболее часто употребляемыми в настоящее время позиционными системами являются:
•2 — двоичная (в дискретной математике, информатике, программировании);
•3 — троичная;
•8 — восьмеричная;
•10 — десятичная (используется повсеместно);
•12 — двенадцатеричная (счёт дюжинами);
•16 — шестнадцатеричная (используется в программировании, информатике);
•20 — двадцатеричная система счисления;
•60 — шестидесятеричная (единицы измерения времени, измерение углов и, в частности, координат, долготы и широты).
В позиционных системах чем больше основание системы, тем меньшее количество разрядов (то есть записываемых цифр) требуется при записи числа.

Десятичная система счисления. 
В этой системе 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, но информацию несет не только цифра, но и место, на котором цифра стоит (то есть ее позиция). Самая правая цифра числа показывает число единиц, вторая справа - число десятков, следующая - число сотен и т.д.
Пример:
333 = 3*100 + 3*10+3*1 = 300 + 30 + 3

Двоичная система счисления. 
В этой системе всего две цифры - 0 и 1. Основание системы - число 2. Самая правая цифра числа показывает число единиц, следующая цифра - число двоек, следующая - число четверок и т.д. Двоичная система счисления позволяет закодировать любое натуральное число - представить его в виде последовательности нулей и единиц.
Пример:
1011 = 1*2^3 + 0*2*2+1*2^1+1*2^0 =1*8 + 1*2+1=1110

Для перевода чисел из десятичной системы счисления в двоичную используют так называемый "алгоритм замещения", состоящий из следующей последовательности действий:
1.Делим десятичное число А на 2. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит двоичного числа.
2.Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток (0 или 1) записывается в разряды двоичного числа в направлении от младшего бита к старшему.
3.Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a = 1.
Например, требуется перевести десятичное число 247 в двоичное. В соответствии с приведенным алгоритмом получим:
247(10) : 2 = 123(10)
247(10) – 246(10) = 1, остаток 1 записываем в МБ двоичного числа.
123(10) : 2 = 61(10)
123(10) – 122(10) = 1, остаток 1 записываем в следующий после МБ разряд двоичного числа.
61(10) : 2 = 30(10)
61(10) – 60(10) = 1, остаток 1 записываем в старший разряд двоичного числа.
30(10) : 2 = 15(10)
30(10) – 30(10) = 0, остаток 0 записываем в старший разряд двоичного числа.
15(10) : 2 = 7(10)
15(10) – 14(10) = 1, остаток 1 записываем в старший разряд двоичного числа.
7(10) : 2 = 3(10)
7)10) – 6(10) = 1, остаток 1 записываем в старший разряд двоичного числа.
310 : 2 = 110
310 - 210 = 1, остаток 1 записываем в старший разряд двоичного числа.
1(10) : 2 = 0(10), остаток 1 записываем в старший разряд двоичного числа.
Таким образом, искомое двоичное число равно 111101112.

Восьмеричная система счисления. 
В этой системе счисления 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7. Чтобы перевести в двоичную систему, например, число 611 (восьмеричное), надо заменить каждую цифру эквивалентной ей двоичной триадой (тройкой цифр). Для перевода многозначного двоичного числа в восьмиричную систему нужно разбить его на триады справа налево и заменить каждую триаду соответствующей восьмеричной цифрой.
Перевод чисел из десятичной системы счисления в восьмеричную используют тот же "алгоритм замещения", что и при переводе из десятичной системы счисления в двоичную, только в качестве делителя используют 8, основание восьмеричной системы счисления:
1.Делим десятичное число А на 8. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит восьмеричного числа.
2.Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток записывается в разряды восьмеричного числа в направлении от младшего бита к старшему.
3.Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a меньше 8.
Перевод десятичного числа 3336 в восьмеричное. В соответствии с приведенным алгоритмом получим:
3336(10) : 8 = 417(10)
3336(10) – 3336(10) = 0, остаток 0 записываем в МБ восьмеричного числа.
417(10) : 8 = 52(10)
417(10) – 416(10) = 1, остаток 1 записываем в следующий после МБ разряд восьмеричного числа.
52(10) : 8 = 6(10)
52(10) – 48(10) = 4, остаток 4 записываем в старший разряд восьмеричного числа.
6(10) : 8 = 0(10), остаток 0, записываем 6 в самый старший разряд восьмеричного числа.
Таким образом, искомое восьмеричное число равно 6410(8).

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

Перевод чисел недесятичных систем в десятичную систему осуществляется путем составления степенного ряда с основанием той системы, из которой число переводится. Затем подсчитывается значение суммы.
а) Пример перевод из двоичной системы в десятичную число 10101101:
10101101 = 1*2^7+ 0*2^6+ 1*2^5+ 0*2^4+ 1*2^3+ 1*2^2+ 0*2^1+ 1*2^0 = 173
б) Пример перевод из 8-ричной системы в десятичную число 703:
703 = 7*8^2+ 0*8^1+ 3*8^0= 451
в) Пример перевода числа из 16-ричной системы в десятичную число B2E:
B2E = 11*16^2+ 2*16^1+ 14*16^0= 2862

Обозначение чисел в разных системах счисления