Система счисления — символический метод записи чисел, представление чисел с помощью письменных знаков.
Символы, при помощи которых записывается число, называются цифрами.
Система счисления:
- даёт представления множества чисел (целых или вещественных)
- даёт каждому числу уникальное представление (или, по крайней мере, стандартное представление)
- отражает алгебраическую и арифметическую структуру чисел.
Разные народы в разные времена использовали разные системы счисления. Следы древних систем счета встречаются и сегодня в культуре многих народов. К древнему Вавилону восходит деление часа на 60 минут и угла на 360 градусов. К Древнему Риму - традиция записывать в римской записи числа I, II, III и т. д. К англосаксам - счет дюжинами: в году 12 месяцев, в футе 12 дюймов, сутки делятся на 2 периода по 12 часов.
По современным данным, развитые системы нумерации впервые появились в древнем Египте. Для записи чисел египтяне применяли иероглифы один, десять, сто, тысяча и т.д. Все остальные числа записывались с помощью этих иероглифов и операции сложения. Недостатки этой системы - невозможность записи больших чисел и громоздкость.
В конце концов, самой популярной системой счисления оказалась десятичная система. Десятичная система счисления пришла из Индии, где она появилась не позднее VI в. н. э. В ней всего 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 но информацию несет не только цифра, но также и место позиция, на которой она стоит. В числе 444 три одинаковых цифры обозначают количество и единиц, и десятков, и сотен. А вот в числе 400 первая цифра обозначает число сотен, два 0 сами по себе вклад в число не дают, а нужны лишь для указания позиции цифры 4.
Классификация систем счисления
Системы счисления подразделяются на позиционные и непозиционные.
Позиционные системы счисления
Позиционные системы счисления (СС) - это системы счисления, в которых количественный эквивалент каждой цифры (её вес) зависит от ее положения (позиции) в записи числа.
Путем долгого развития человечество пришло к созданию позиционного принципа записи чисел, который состоит в том, что каждая цифра, содержащаяся в записи числа, занимает определенное место, называемое разрядом. Отсчет разрядов производится справа налево. Единица каждого следующего разряда всегда превосходит единицу предыдущего разряда в определенное число раз. Это отношение носит название основание системы счисления (у непозиционных систем счисления понятия «разряда» и «основания» отсутствуют).
Например:
число 237 состоит из 3 цифр. Понятно, что отдельно взятая цифра 7 больше чем цифра 2. Однако, в составе числа, двойка стоит на позиции сотен, а семёрка - на позиции единиц, поэтому количественное представление двойки - две сотни, или двести, а семёрка - всё та же семь.
Многие, кроме десятичной СС, о других позиционных системах не имеют представления, хотя и часто ими пользуются. Например:
- Шестидесятиричная (Древний Вавилон) - первая позиционная система счисления. До сих пор при измерении времени используется основание равное 60 (1 мин = 60 с, 1 ч = 60 мин);
- Двенадцатеричная система счисления (широкое распространение получила в XIX в. Число12 - «дюжина»: в сутках две дюжины часов. Счет не по пальцам. а по суставам пальцев. На каждом пальце руки, кроме большого, по 3 сустава - всего 12;
В настоящее время наиболее распространенными позиционными системами счисления являются десятичная, двоичная, восьмеричная и шестнадцатеричная.
Общее свойство всех позиционных систем счисления: при каждом переходе влево (вправо) в записи числа на один разряд величина цифры увеличивается (уменьшается) во столько раз, чему равно основание системы счисления.
Достоинства позиционных систем счисления:
- В позиционных системах счисления устранены все недостатки непозиционных:
- В них можно записать любое число (как натуральное, таки действительное);
- Запись чисел компактна и удобна;
- Благодаря поразрядной организации записи чисел с ними легко проводить математические операции.
Непозиционные системы счисления
В непозиционных системах счисления величина, которую обозначает цифра, не зависит от положения в числе. Например: Римская система счисления.
Из многочисленных представителей этой группы в настоящее время сохранила свое значение лишь римская система счисления, где для обозначения цифр используются латинские буквы:
I |
V |
X |
L |
С |
D |
М |
1 |
5 |
10 |
50 |
100 |
500 |
1000 |
С их помощью можно записывать натуральные числа. Например, число 1995 будет представлено, как MCMXCV (М-1000,СМ-900,ХС-90 и V-5).
Правила записи чисел в римской системе счисления:
- Если большая цифра стоит перед меньшей, они складываются, например: VI – 6 (5+1);
- Если меньшая цифра стоит перед большей, то из большей вычитается меньшая, причем в этом случае меньшая цифра уже повторяться не может, например: XL — 40 (50-10), XXL – нельзя;
- Цифры М, С, Х, I могут повторяться в записи числа не более трех раз подряд;
- Цифры D, L, V могут использоваться в записи числа только по одному разу.
Например, запись XXX обозначает число 30, состоящее из трех цифр X, каждая из которых, независимо от места ее положения в записи числа, равна 10. Запись MCXX1V обозначает 1124, а самое большое число, которое можно записать в этой системе счисления, это число MMMCMXCIX (3999). Для записи еще больших чисел пришлось бы вводить все новые обозначения. По этой причине, а также по причине отсутствия цифры ноль, римская система счисления не годится для записи действительных чисел.
Таким образом, можно констатировать следующие основные недостатки непозиционных систем счисления:
- В них нельзя записать любое число;
- Запись чисел обычно громоздка и неудобна;
- Математические операции над ними крайне затруднены.
Алфавит и основание системы счисления
Алфавитом системы счисления называется совокупность различных цифр, используемых в позиционной системе счисления для записи чисел. Например:
Десятичная система: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Двоичная система: {0, 1}
Восьмеричная система: {0, 1, 2, 3, 4, 5, 6, 7}
Шестнадцатеричная система: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
Количество цифр в алфавите равно основанию системы счисления. Основанием позиционной системы счисления называется количество знаков или символов, используемых для изображения числа в данной системе счисления.
Базисом позиционной системы счисления называется последовательность чисел, каждое из которых задает количественное значение или «вес» каждого разряда. Например: Базисы некоторых позиционных систем счисления.
Десятичная система: 100, 101, 102, 103, 104,…, 10n,…
Двоичная система: 20, 21, 22, 23, 24,…, 2n,…
Восьмеричная система: 80, 81, 82, 83, 84,…, 8n,…
Пример. Десятичное число 4718,63, двоичное число 1001,1, восьмеричное число 7764,1, шестнадцатеричное число 3АF.
Позиция цифры в числе называется разрядом: разряд возрастает справа налево, от младших к старшим, начиная с нуля.
Развёрнутая форма представления числа
В позиционной системе счисления любое вещественное число в развернутой форме может быть представлено в следующем виде:
А = ± (an-1qn-1+an-2qn-2+ … +a0q0+a-1q-1+a-2q-2+ … +a-mq-m)
Здесь:
А - само число,
q - основание системы счисления,
ai - цифры, принадлежащие алфавиту данной системы счисления,
n - число целых разрядов числа,
m - число дробных разрядов числа.
Развернутая форма записи числа - сумма произведений коэффициентов на степени основания системы счисления.
Пример. Десятичное число А10 = 4718,63 в развернутой форме запишется так:
А10 = 4•103 + 7•102 + 1•101 + 8•100 + 6•10-1 + 3•10-2
Двоичное число А2 = 1001,1 = 1•23 + 0•22 + 0•21 + 1•20 + 1•2-1
Восьмеричное число А8 = 7764,1 = 7•83 + 7•82 + 6•81 + 4•80 + 1•8-1
Шестнадцатеричное число А16 = 3АF = 3•162 + 10•161 + 15•160
Системы счисления, используемые в вычислительной технике
Несмотря на то, что исторически человек привык работать в десятичной системе счисления, с технической точки зрения она крайне неудобна, так как в электрических цепях компьютера требовалось бы иметь одновременно десять различных сигналов. Тем не менее, такие схемы существуют в некоторых видах микрокалькуляторов.
Чем меньше различных сигналов в электрических цепях, тем проще микросхемы, являющиеся основой конструкции большинства узлов ЭВМ, и тем надежнее они работают.
Наименьшее основание, которое может быть у позиционных систем счисления это – двойка. Именно поэтому двоичная система счисления используется в вычислительной технике, а двоичные наборы приняты за средство кодирования информации. В компьютере имеются только два устойчивых состояния работы микросхем, связанных с прохождением электрического тока через данное устройство (1) или его отсутствием (0). Говоря точнее, (1) кодирует высокое напряжение в схеме компьютера, а (0) – низкое напряжение.
Если вспомнить, что двоичная система счисления обладает самыми маленькими размерами таблиц сложения и умножения, то можно догадаться, что этот факт должен сильно радовать конструкторов ЭВМ, поскольку обработка сигнала в этом случае будет также самой простой. Таким образом, двоичная система счисления, с точки зрения организации работы ЭВМ, является наилучшей.
Мы уже говорили о преимуществах двоичной системы счисления с технической точки зрения организации работы компьютера. Зачем нужны другие системы счисления, кроме, естественно, еще и десятичной, в которой человек привык работать? Чтобы ответить на него, возьмем любое число в десятичной системе счисления, например 255, и переведем его в другие системы счисления с основаниями, кратными двойке:
25510 = 111111112 =33334 = 3778 =FF16.
Чем меньше основание системы счисления, тем больше разрядов требуется для его записи то есть, тем самым мы проигрываем в компактности записи чисел и их наглядности. Поэтому, наряду с двоичной и десятичной системами счисления, в вычислительной технике применяют так же запись чисел в 8-и 16-ричных системах счисления. Поскольку их основания кратны двойке, они органично связаны с двоичной системой счисления и преобразуются в эту систему наиболее быстро и просто (по сути они являются компактными видами записи двоичных чисел). Все другие системы счисления представляют для вычислительной техники чисто теоретический интерес.
Решение задач
- Какое число записано с помощью римских цифр: CLVI
Решение: Зная обозначения, запишем: С – 100; L – 50; V – 5; I – 1
Пользуемся правилом записи чисел в римской системе счисления:
- Т.к. большая стоит перед меньшей – CL, то они складываются (С+L = 100 + 50 = 150).
- Т.к. большая цифра стоит перед меньшей – VI, то они складываются (V + I = 5 + 1 = 6). Следовательно, 150 + 6 = 156
Ответ: CLVI = 15610
2. Записать в развёрнутом виде число: 3ВFA16
Решение: Пользуемся формулой:
Аq = +- (an-1×qn-1 + an-2×qn-2 + …+a0×q0 + a–1×q-1 +a–2×q-2 + …+ a–m×q-m)
В нашем случае:
a1 = 3; a2 = B; a3 = F; a4 = A
q=16
n=3, 2, 1, 0
Следовательно: 3ВFA16 = 3×163 + B×162 + F×161 + A×160
Ответ: 3ВFA16 = 3×163 + B×162 + F×161 + A×160
3. Запишите в свёрнутой форме число 1×82 + 4×81 + 7×80
Решение: Пользуемся формулой:
Аq = +- (an-1×qn-1 + an-2×qn-2 + …+a0×q0 + a–1×q-1 +a–2×q-2 + …+ a–m×q-m)
В нашем случае:
a1 = 1; a2 = 4; a3 = 7
q=8
n= 2, 1, 0
Следовательно: 1×82 + 4×81 + 7×80 = 1478
Ответ: 1×82 + 4×81 + 7×80 = 1478
4. Используя приложение Калькулятор операционной системы Windows запишите значения числа 1010 10 в различных системах счисления.
Для этого:
- откройте калькулятор: ПУСК-ПРОГРАММЫ-СТАНДАРТНЫЕ-КАЛЬКУЛЯТОР
- настройте вид калькулятора на инженерный: ВИД-ИНЖЕНЕРНЫЙ
- Dec – десятичная система счисления
- Oct – восьмеричная система счисления
- Bin – двоичная система счисления
- Hex – шестнадцатеричная система счисления
- поставьте флажок в Dec и наберите число 1010
- поставьте флажок в Oct – вы увидите данное число, представленное в 8-ой системе счисления (запишите результат)
- поставьте флажок в Bin – вы увидите данное число, представленное в 2-ой системе счисления (запишите результат)
- поставьте флажок в Hex – вы увидите данное число, представленное в 16-ой системе счисления (запишите результат)
Алгоритмы перевода в системы счисления по разным основаниям
Алгоритм перевода чисел из любой системы счисления в десятичную
- Представить число в развернутой форме. При этом основание системы счисления должно быть представлено в десятичной системе счисления.
- Найти сумму ряда. Полученное число является значением числа в десятичной системе счисления.
Алгоритм перевода целых чисел из десятичной системы счисления в любую другую
- Последовательно выполнять деление данного числа и получаемых целых частных на основание новой системы счисления до тех пор, пока не получится частное, меньше делителя.
- Полученные остатки, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.
- Составить число в новой системе счисления, записывая его, начиная с последнего остатка.
Алгоритм перевода правильных дробей из десятичной системы счисления в любую другую
- Последовательно умножаем данное число и получаемые дробные части произведения на основание новой системы счисления до тех пор, пока дробная часть произведения не станет равна нулю или будет достигнута требуемая точность представления числа.
- Полученные целые части произведений, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.
- Составить дробную часть числа в новой системе счисления, начиная с целой части первого произведения.
Алгоритм перевода произвольных чисел из десятичной системы счисления в любую другую
Перевод произвольных чисел, т.е. содержащих целую и дробную часть, осуществляется в два этапа:
- Отдельно переводится целая часть.
- Отдельно переводится дробная.
- В итоговой записи полученного числа целая часть отделяется от дробной запятой.
Перевод чисел из двоичной системы счисления в систему счисления с основанием q=2n
Для облегчения решения задач заполним следующую таблицу:
Десятичная |
Двоичная |
Восьмеричная |
Шестнадцатеричная |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
2 |
10 |
2 |
2 |
3 |
11 |
3 |
3 |
4 |
100 |
4 |
4 |
5 |
101 |
5 |
5 |
6 |
110 |
6 |
6 |
7 |
111 |
7 |
7 |
8 |
1000 |
10 |
8 |
9 |
1001 |
11 |
9 |
10 |
1010 |
12 |
A |
11 |
1011 |
13 |
B |
12 |
1100 |
14 |
C |
13 |
1101 |
15 |
D |
14 |
1110 |
16 |
E |
15 |
1111 |
17 |
F |
Если основание q-ричной системы счисления является степенью числа 2, то перевод чисел из q-ричной систему счисления в 2-ичную и обратно можно проводить по более простым правилам.
- Двоичное число разбить справа налево на группы по n в каждой.
- Если в левой последней группе окажется меньше n разрядов, то её надо дополнить слева нулями до нужного числа разрядов.
- Рассмотреть каждую группу как n-разрядное двоичное число и записать её соответствующей цифрой в системе счисления с основанием q=2n
Решение задач
- Переведём в 10-ую с.с. число: 0,1235
Решение: Действуем строго по алгоритму перевода чисел из любой системы счисления в десятичную:
Запишем число в развёрнутой форме: 0,1235= 1×5–1+ 2×5– 2 + 3×5-3
Найдём сумму ряда: 0,2 + 0,08 + 0,024 = 0,30410
Ответ: 0,1235 = 0,30410
2. Переведём число 12610 в 8-ую с.с. и число 18010 в 16-ую с.с.
Решение: Действуем строго по алгоритму перевода целых чисел из 10-ой с.с. в любую другую:
Записываем полученные числа в обратном порядке и получаем:
Ответ: 12610 = 1768
Ответ: 18010 = В416
- Переведите числа из 10-ой с.с. числа: 0,6562510– (?)16и 0,910 – (?)2
Решение: Действуем строго по алгоритму перевода правильных дробей из десятичной с.с. в любую другую:
Во втором примере процесс можно продолжать бесконечно. В этом случае деление продолжаем до тех пор, пока не получим нужную точность представления. Записываем числа сверху вниз.
Ответ: 0,6562510 = 0,А816; 0,910 = 1,1110012 с точностью до семи значащих цифр после запятой.
4. Переведём число 124,2610 в шестнадцатеричную с.с.
Решение: Действуем строго по алгоритму перевода произвольных чисел:
Переводим целую и дробную часть:
Записываем полученные числа справа налево (в целой части) и сверху вниз (в дробной части).
Ответ: 124,2610 = 7С,428А16
5. Переведём число: 11001010011010101112 в шестнадцатеричную систему счисления
Решение: Действуем строго по алгоритму перевода чисел из 2-ой с.с в с.с. с основанием 2n:
Разбиваем число на группы по четыре цифры – тетрады (т.к. q=16, 16 = 2n, n = 4) слева направо и, пользуясь таблицей, записываем соответствующее шестнадцатеричное число (слева дополняем 0-ми недостающие разряды)
0110 |
0101 |
0011 |
0101 |
0111 |
6 |
5 |
3 |
5 |
7 |
Ответ: 11001010011010101112 = 6535716
Домашнее задание
- Сколько единиц в двоичной записи шестнадцатеричного числа 7C?
Решение:
716=01112, С16= 10102
7С16= 11110102
ОТВЕТ: 5
- Дано А=9D16, B=2378. Какое из чисел C, записанных в двоичной системе счисления, отвечает условию A<C<B?
1) 100110102
2) 100111102
3) 100111112
4) 110111102
Решение:
Переведем числа в десятичную систему счисления и определим промежуточное число.
А=9D16= 9×16+13=15710
B=2378=2×64+3×8+7×1=15910
157<158<159
15810=100111102
Ответ: 2