Лекция "Системы счисления"

Система счисления — символический метод записи чисел, представление чисел с помощью письменных знаков.

Символы, при помощи которых записывается число, называются цифрами.

Система счисления:

  • даёт представления множества чисел (целых или вещественных)
  • даёт каждому числу уникальное представление (или, по крайней мере, стандартное представление)
  • отражает алгебраическую и арифметическую структуру чисел.

Разные народы в разные времена использовали разные системы счисления. Следы древних систем счета встречаются и сегодня в культуре многих народов. К древнему Вавилону восходит деление часа на 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. Однако, в составе числа, двойка стоит на позиции сотен, а семёрка - на позиции единиц, поэтому количественное представление двойки - две сотни, или двести, а семёрка - всё та же семь.

Многие, кроме десятичной СС, о других позиционных системах не имеют представления, хотя и часто ими пользуются. Например:
  1. шестидесятиричная (Древний Вавилон) - первая позиционная система счисления. До сих пор при измерении времени используется основание равное 60 (1 мин = 60 с, 1 ч = 60 мин);
  2. двенадцатеричная система счисления (широкое распространение получила в 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-ричных системах счисления. Поскольку их основания кратны двойке, они органично связаны с двоичной системой счисления и преобразуются в эту систему наиболее быстро и просто (по сути они являются компактными видами записи двоичных чисел). Все другие системы счисления представляют для вычислительной техники чисто теоретический интерес.

Решение задач

1. Какое число записано с помощью римских цифр: 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 в различных системах счисления.
Для этого:
  1. откройте калькулятор: ПУСК-ПРОГРАММЫ-СТАНДАРТНЫЕ-КАЛЬКУЛЯТОР
  2. настройте вид калькулятора на инженерный: ВИД-ИНЖЕНЕРНЫЙ
  • Dec – десятичная система счисления
  • Oct – восьмеричная система счисления
  • Bin – двоичная система счисления
  • Hex – шестнадцатеричная система счисления
  1. поставьте флажок в Dec и наберите число 1010
  2. поставьте флажок в Oct – вы увидите данное число, представленное в 8-ой системе счисления (запишите результат)
  3. поставьте флажок в Bin – вы увидите данное число, представленное в 2-ой системе счисления (запишите результат)
  4. поставьте флажок в Hex – вы увидите данное число, представленное в 16-ой системе счисления (запишите результат)

Алгоритмы перевода в системы счисления по разным основаниям

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

  1. Представить число в развернутой форме. При этом основание системы счисления должно быть представлено в десятичной системе счисления.
  2. Найти сумму ряда. Полученное число является значением числа в десятичной системе счисления.

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

  1. Последовательно выполнять деление данного числа и получаемых целых частных на основание новой системы счисления до тех пор, пока не получится частное, меньше делителя.
  2. Полученные остатки, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.
  3. Составить число в новой системе счисления, записывая его, начиная с последнего остатка.

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

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

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

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

Перевод чисел из двоичной системы счисления в систему счисления с основанием 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-ичную и обратно можно проводить по более простым правилам.
  1. Двоичное число разбить справа налево на группы по n в каждой.
  2. Если в левой последней группе окажется меньше n разрядов, то её надо дополнить слева нулями до нужного числа разрядов.
  3. Рассмотреть каждую группу как n-разрядное двоичное число и записать её соответствующей цифрой в системе счисления с основанием q=2n

Решение задач

1. Переведём в 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

3. Переведите числа из 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


(с) 
http://informik.ucoz.ru/index/bilet_14/0-65
Comments