- Способ представления чисел с помощью символов имеющих определенное количественное значение
- Электронные облака
- Лекции
- Рабочие материалы
- Тесты по темам
- Template tips
- Задачи
- Логика вычислительной техники и программирования
- Лекция «Системы счисления»
- Классификация систем счисления
- Позиционные системы счисления
- Непозиционные системы счисления
- Алфавит и основание системы счисления
- Развёрнутая форма представления числа
- Системы счисления, используемые в вычислительной технике
- Решение задач
- Алгоритмы перевода в системы счисления по разным основаниям
- Алгоритм перевода чисел из любой системы счисления в десятичную
- Алгоритм перевода целых чисел из десятичной системы счисления в любую другую
- Алгоритм перевода правильных дробей из десятичной системы счисления в любую другую
- Алгоритм перевода произвольных чисел из десятичной системы счисления в любую другую
- Перевод чисел из двоичной системы счисления в систему счисления с основанием q=2 n
- Решение задач
Способ представления чисел с помощью символов имеющих определенное количественное значение
Электронные облака
Лекции
Рабочие материалы
Тесты по темам
Template tips
Задачи
Логика вычислительной техники и программирования
Лекция «Системы счисления»
Система счисления — символический метод записи чисел, представление чисел с помощью письменных знаков.
Символы, при помощи которых записывается число, называются цифрами.
- даёт представления множества чисел (целых или вещественных)
- даёт каждому числу уникальное представление (или, по крайней мере, стандартное представление)
- отражает алгебраическую и арифметическую структуру чисел.
Разные народы в разные времена использовали разные системы счисления. Следы древних систем счета встречаются и сегодня в культуре многих народов. К древнему Вавилону восходит деление часа на 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>
Шестнадцатеричная система:
Количество цифр в алфавите равно основанию системы счисления. Основанием позиционной системы счисления называется количество знаков или символов, используемых для изображения числа в данной системе счисления.
Базисом позиционной системы счисления называется последовательность чисел, каждое из которых задает количественное значение или «вес» каждого разряда. Например: Базисы некоторых позиционных систем счисления.
Десятичная система: 10 0 , 10 1 , 10 2 , 10 3 , 10 4 ,…, 10 n ,…
Двоичная система: 2 0 , 2 1 , 2 2 , 2 3 , 2 4 ,…, 2 n ,…
Восьмеричная система: 8 0 , 8 1 , 8 2 , 8 3 , 8 4 ,…, 8 n ,…
Пример. Десятичное число 4718,63, двоичное число 1001,1, восьмеричное число 7764,1, шестнадцатеричное число 3АF.
Позиция цифры в числе называется разрядом: разряд возрастает справа налево, от младших к старшим, начиная с нуля.
Развёрнутая форма представления числа
В позиционной системе счисления любое вещественное число в развернутой форме может быть представлено в следующем виде:
А = ± (an-1q n-1 +an-2q n-2 + … +a0q 0 +a-1q -1 +a-2q -2 + … +a-mq -m )
Здесь:
А — само число,
q — основание системы счисления,
ai — цифры, принадлежащие алфавиту данной системы счисления,
n — число целых разрядов числа,
m — число дробных разрядов числа.
Развернутая форма записи числа — сумма произведений коэффициентов на степени основания системы счисления.
Пример. Десятичное число А10 = 4718,63 в развернутой форме запишется так:
А10 = 4•10 3 + 7•10 2 + 1•10 1 + 8•10 0 + 6•10 -1 + 3•10 -2
Двоичное число А2 = 1001,1 = 1•2 3 + 0•2 2 + 0•2 1 + 1•2 0 + 1•2 -1
Восьмеричное число А8 = 7764,1 = 7•8 3 + 7•8 2 + 6•8 1 + 4•8 0 + 1•8- 1
Шестнадцатеричное число А16 = 3АF = 3•16 2 + 10•16 1 + 15•16 0
Системы счисления, используемые в вычислительной технике
Несмотря на то, что исторически человек привык работать в десятичной системе счисления, с технической точки зрения она крайне неудобна, так как в электрических цепях компьютера требовалось бы иметь одновременно десять различных сигналов. Тем не менее, такие схемы существуют в некоторых видах микрокалькуляторов.
Чем меньше различных сигналов в электрических цепях, тем проще микросхемы, являющиеся основой конструкции большинства узлов ЭВМ, и тем надежнее они работают.
Наименьшее основание, которое может быть у позиционных систем счисления это – двойка. Именно поэтому двоичная система счисления используется в вычислительной технике, а двоичные наборы приняты за средство кодирования информации. В компьютере имеются только два устойчивых состояния работы микросхем, связанных с прохождением электрического тока через данное устройство (1) или его отсутствием (0). Говоря точнее, (1) кодирует высокое напряжение в схеме компьютера, а (0) – низкое напряжение.
Если вспомнить, что двоичная система счисления обладает самыми маленькими размерами таблиц сложения и умножения, то можно догадаться, что этот факт должен сильно радовать конструкторов ЭВМ, поскольку обработка сигнала в этом случае будет также самой простой. Таким образом, двоичная система счисления, с точки зрения организации работы ЭВМ, является наилучшей.
Мы уже говорили о преимуществах двоичной системы счисления с технической точки зрения организации работы компьютера. Зачем нужны другие системы счисления, кроме, естественно, еще и десятичной, в которой человек привык работать? Чтобы ответить на него, возьмем любое число в десятичной системе счисления, например 255, и переведем его в другие системы счисления с основаниями, кратными двойке:
Чем меньше основание системы счисления, тем больше разрядов требуется для его записи то есть, тем самым мы проигрываем в компактности записи чисел и их наглядности. Поэтому, наряду с двоичной и десятичной системами счисления, в вычислительной технике применяют так же запись чисел в 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
Решение: Пользуемся формулой:
a1 = 3; a2 = B; a3 = F; a4 = A
Следовательно: 3ВFA16 = 3*16 3 + B*16 2 + F*16 1 + A*16 0
Ответ: 3ВFA16 = 3*16 3 + B*16 2 + F*16 1 + A*160
3. Запишите в свёрнутой форме число 1*8 2 + 4*8 1 + 7*8 0
Решение: Пользуемся формулой:
a1 = 1; a2 = 4; a3 = 7
Следовательно: 1*8 2 + 4*8 1 + 7*8 0 = 1478
Ответ: 1*8 2 + 4*8 1 + 7*8 0 = 1478
4. Используя приложение Калькулятор операционной системы Windows запишите значения числа 1010 10 в различных системах счисления.
Для этого:
- откройте калькулятор: ПУСК-ПРОГРАММЫ-СТАНДАРТНЫЕ-КАЛЬКУЛЯТОР
- настройте вид калькулятора на инженерный: ВИД-ИНЖЕНЕРНЫЙ
- Dec – десятичная система счисления
- Oct – восьмеричная система счисления
- Bin – двоичная система счисления
- Hex – шестнадцатеричная система счисления
- поставьте флажок в Dec и наберите число 1010
- поставьте флажок в Oct – вы увидите данное число, представленное в 8-ой системе счисления (запишите результат)
- поставьте флажок в Bin – вы увидите данное число, представленное в 2-ой системе счисления (запишите результат)
- поставьте флажок в Hex – вы увидите данное число, представленное в 16-ой системе счисления (запишите результат)
Алгоритмы перевода в системы счисления по разным основаниям
Алгоритм перевода чисел из любой системы счисления в десятичную
- Представить число в развернутой форме. При этом основание системы счисления должно быть представлено в десятичной системе счисления.
- Найти сумму ряда. Полученное число является значением числа в десятичной системе счисления.
Алгоритм перевода целых чисел из десятичной системы счисления в любую другую
- Последовательно выполнять деление данного числа и получаемых целых частных на основание новой системы счисления до тех пор, пока не получится частное, меньше делителя.
- Полученные остатки, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.
- Составить число в новой системе счисления, записывая его, начиная с последнего остатка.
Алгоритм перевода правильных дробей из десятичной системы счисления в любую другую
- Последовательно умножаем данное число и получаемые дробные части произведения на основание новой системы счисления до тех пор, пока дробная часть произведения не станет равна нулю или будет достигнута требуемая точность представления числа.
- Полученные целые части произведений, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.
- Составить дробную часть числа в новой системе счисления, начиная с целой части первого произведения.
Алгоритм перевода произвольных чисел из десятичной системы счисления в любую другую
Перевод чисел из двоичной системы счисления в систему счисления с основанием q=2 n
Для облегчения решения задач заполним следующую таблицу:
Десятичная | Двоичная | Восьмеричная | Шестнадцатеричная |
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=2 n
Решение задач
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-ой с.с. в любую другую:
Во втором примере процесс можно продолжать бесконечно. В этом случае деление продолжаем до тех пор, пока не получим нужную точность представления. Записываем числа сверху вниз.
Ответ: 0,6562510 = 0,А816; 0,910 = 1,1110012 с точностью до семи значащих цифр после запятой.
4. Переведём число 124,2610 в шестнадцатеричную с.с.
Решение: Действуем строго по алгоритму перевода произвольных чисел:
Переводим целую и дробную часть:
Записываем полученные числа справа налево (в целой части) и сверху вниз (в дробной части).
Ответ: 124,2610 = 7С,428А16
5. Переведём число: 11001010011010101112 в шестнадцатеричную систему счисления
Решение: Действуем строго по алгоритму перевода чисел из 2-ой с.с в с.с. с основанием 2 n :
Разбиваем число на группы по четыре цифры – тетрады (т.к. q=16, 16 = 2 n , n = 4) слева направо и, пользуясь таблицей, записываем соответствующее шестнадцатеричное число (слева дополняем 0-ми недостающие разряды)
Источник