1. Общие сведения о системах счисления
Система счисления — это способ записи чисел с помощью символов (цифр), подчиняющийся определённым правилам.
Системы счисления могут быть:
- позиционными (двоичная, десятичная, восьмеричная);
- непозиционными (римская, древнеегипетская, вавилонская).
В позиционных системах счисления значение числа зависит от положения цифры в записи числа. Например, числа \(45\) и \(54\) имеют разное значение, т. к. положение цифр в этом числе разное. В первом случае \(4\) — это количество десятков, а во втором — единиц.
Преимуществом позиционных систем счисления является лёгкость выполнения арифметических операций, единые правила записи чисел.
В непозиционных системах счисления значение числа не зависит от положения цифр в числе. Например, в римской системе счисления приняты следующие обозначения: \(I\) — \(1\), \(V\) — \(5\), \(X\) — \(10\), \(L\) — \(50\), \(C\) — \(100\), \(D\) — \(500\), \(M\) —\(1000\) . Независимо от того, на каком месте в числе стоит цифра, она своё значение не поменяет.
Существует несколько правил образования чисел в римской системе счисления.
1. Значение числа складывается из суммы его цифр. Например: \(XXI = 10+10+1 = 21\), \(LXII = 50+10+2 = 62\).
2. Слева от большей цифры может стоять меньшая, тогда она будет вычитаться из большей. Например: \(IX = 10-1 = 9\).
3. Левая цифра может быть меньше правой только на \(1\) порядок. Например, перед \(V\) может стоять только \(I\), перед \(L\) и \(C\) — только \(X\), перед \(D\) и \(M\) — только \(C\).
Непозиционные системы счисления практически не используются, потому что числа слишком объёмные, с ними тяжело проводить арифметические действия. Использование римской системы счисления можно встретить в учебниках по истории или литературе.
Информатика
Система счисления (СС) — это система записи чисел с помощью определенного набора цифр. CС называется позиционной, если одна и та же цифра имеет различное значение, которое определяется ее местом в числе. Десятичная СС является позиционной: 999. Римская СС является непозиционной. Значение цифры Х в числе ХХІ остается неизменным при вариации ее положения в числе. Количество различных цифр, употребляемых в позиционной СС, называется основанием СС. Если основание используемой СС больше десяти, то для цифр вводят условное обозначение со скобкой вверху или буквенное обозначение.
В шестнадцатеричной СС основа — это цифры 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 с соответствующими обозначениями 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Примеры чисел: 17D.E, F12A.
Двоичная СС — это система, в которой для записи чисел используются две цифры 0 и 1. Основанием двоичной системы счисления является число 2.Двоичный код числа — запись этого числа в двоичной системе счисления. Например,
В ВТ применяют позиционные СС с недесятичным основанием: двоичную, восьмеричную, шестнадцатеричную. 16-ричная и 8-ричная СС используются при составлении программ на языке машинных кодов для более короткой и удобной записи двоичных кодов – команд, данных, адресов и операндов.
Перевод чисел из десятичной СС в заданную.
1) Для перевода целых чисел десятичной системы счисления в другую систему счисления последовательно выполняют деление нацело на основание новой СС, пока не получат частное, меньшее этого основания.. Число в новой СС записывают, начиная с последнего частного, добавляя к нему остатки.
Например: Необходимо перевести число 76 из 10-ной в 2-ую СС.
Ответ: 76 10 =1001100 2 .
2) Для перевода десятичных дробей из десятичной СС в другую СС последовательно выполняют умножение дробной части на основание новой системы счисления, пока она не станет равной нулю. Число в новой СС записывают из целых частей произведений, начиная с первого.
Например: Необходимо перевести число 0.35 из 10-ной в 2-ую СС.
Ответ: 0.35 10 =0.01011 2
Необходимо отметить, что не каждое число может быть точно выражено в новой системе счисления, поэтому иногда вычисляют только требуемое количество разрядов дробной части, округляя последний разряд.
Перевод чисел из произвольной системы в десятичную.
Число записывают в виде суммы произведений цыфр в числе на основание системы счисления в степени порядка. По другому это называется развернутой формой числа.
Например: 1101 2 =1*2 3 +1*2 2 +0*2 1 +1*2 0 =13 10
17D.E 16 =1·16 2 + 7·16 1 +13·16 0 + 14·16 -1 +12·16 -2 =381.921875 10
Перевод между основаниями, составляющими степень 2.
Для того, чтобы из восьмеричной системы счисления перевести число в двоичный код, необходимо каждую цифру этого числа представить триадой двоичных символов. Лишние нули в старших разрядах отбрасываются.
Например: 234.77 8 =010 011 100.111 111 2 = 10 011 100.111 111 2
123456 8 = 001 010 011 100 101 110 2 = 1 010 011 100 101 110 2
Обратный перевод: двоичное число делят справа налево (целую часть) и слева на право (дробную часть) на триады двоичных цифр. Каждая триада двоичных цифр заменяется восьмеричной цифрой, при этом, если необходимо, число выравнивается путем дописывания нулей перед целой частью или после дробной.
Например: 1100111 2 = 001 100 111 2 = 147 8
11.1001 2 = 011.100 100 2 = 3.44 8
При переводах между двоичной и шестнадцатеричной СС используются четверки цифр. При необходимости выравнивание выполняется до длины двоичного числа, кратной четырем.
Например: 1234.AB77 16 = 0001 0010 0011 0100.1010 1011 0111 0111 2 =1 0010 0011 0100.1010 1011 0111 0111 2
CE567 16 = 1100 1110 0101 0110 0111 2
1100111 2 = 0110 0111 2 = 67 16
При переходе из восьмеричного счисления в шестнадцатеричное счисление и обратно используется вспомогательный двоичный код числа.
Например: 1234567 8 = 001 010 011 100 101 110 111 2 = 0101 0011 1001 0111 0111 2 = 53977 16
120.34 8 = 001 010 000. 011 100 2 = 0101 0000.0111 0000 2 = 50.7 16
CE4567 16 = 1100 1110 0100 0101 0110 0111 2 = 110 011 100 100 010 101 100 111 2 = 63442547 8
Что такое цифра в информатике
Система счисления – это способ записи чисел. Обычно, числа записываются с помощью специальных знаков – цифр (хотя и не всегда). Если вы никогда не изучали данный вопрос, то, по крайней мере, вам должны быть известны две системы счисления – это арабская и римская. В первой используются цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и это позиционная система счисления. А во второй – I, V, X, L, C, D, M и это непозиционная система счисления.
В позиционных системах счисления количество, обозначаемое цифрой в числе, зависит от ее позиции, а в непозиционных – нет. Например:
11 – здесь первая единица обозначает десять, а вторая – 1.
II – здесь обе единицы обозначают единицу.
345, 259, 521 – здесь цифра 5 в первом случае обозначает 5, во втором – 50, а в третьем – 500.
XXV, XVI, VII – здесь, где бы ни стояла цифра V, она везде обозначает пять единиц. Другими словами, величина, обозначаемая знаком V, не зависит от его позиции.
Сложение, умножение и другие математические операции в позиционных системах счисления выполнить легче, чем в непозиционных, т.к. математические операции осуществляются по несложным алгоритмам (например, умножение в столбик, сравнение двух чисел).
В мире наиболее распространены позиционные системы счисления. Помимо знакомой всем с детства десятичной (где используется десять цифр от 0 до 9), в технике широкое распространение нашли такие системы счисление как двоичная (используются цифры 0 и 1), восьмеричная и шестнадцатеричная.
Следует отметить, важную роль нуля. «Открытие» этой цифры в истории человечества сыграло большую роль в формировании позиционных систем счисления.
Основание системы счисления – это количество знаков, которое используется для записи цифр.
Разряд — это позиция цифры в числе. Разрядность числа — количество цифр, из которых состоит число (например, 264 — трехразрядное число, 00010101 — восьмиразрядное число). Разряды нумеруются справа на лево (например, в числе 598 восьмерка занимает первый разряд, а пятерка — третий).
Итак, в позиционной системе счисления числа записываются таким образом, что каждый следующий (движение справа на лево) разряд больше другого на степень основания системы счисления. (придумать схему)
Одно и тоже число (значение) можно представить в различных системах счисления. Представление числа при этом различно, а значение остается неизменным.
Двоичная система счисления
В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, двойка является основанием двоичной системы счисления. (Аналогично у десятичной системы основание 10.)
Чтобы научиться понимать числа в двоичной системе счисления, сначала рассмотрим, как формируются числа в привычной для нас десятичной системе счисления.
В десятичной системе счисления мы располагаем десятью знаками-цифрами (от 0 до 9). Когда счет достигает 9, то вводится новый разряд (десятки), а единицы обнуляются и счет начинается снова. После 19 разряд десятков увеличивается на 1, а единицы снова обнуляются. И так далее. Когда десятки доходят до 9, то потом появляется третий разряд – сотни.
Двоичная система счисления аналогична десятичной за исключением того, что в формировании числа участвуют всего лишь две знака-цифры: 0 и 1. Как только разряд достигает своего предела (т.е. единицы), появляется новый разряд, а старый обнуляется.
Попробуем считать в двоичной системе:
0 – это ноль
1 – это один (и это предел разряда)
10 – это два
11 – это три (и это снова предел)
100 – это четыре
101 – пять
110 – шесть
111 – семь и т.д.
Перевод чисел из двоичной системы счисления в десятичную
Не трудно заметить, что в двоичной системе счисления длины чисел с увеличением значения растут быстрыми темпами. Как определить, что значит вот это: 10001001? Непривычный к такой форме записи чисел человеческий мозг обычно не может понять сколько это. Неплохо бы уметь переводить двоичные числа в десятичные.
В десятичной системе счисления любое число можно представить в форме суммы единиц, десяток, сотен и т.д. Например:
1476 = 1000 + 400 + 70 + 6
Можно пойти еще дальше и разложить так:
1476 = 1 * 103 + 4 * 102 + 7 * 101 + 6 * 100
Посмотрите на эту запись внимательно. Здесь цифры 1, 4, 7 и 6 — это набор цифр из которых состоит число 1476. Все эти цифры поочередно умножаются на десять возведенную в ту или иную степень. Десять – это основание десятичной системы счисления. Степень, в которую возводится десятка – это разряд цифры за минусом единицы.
Аналогично можно разложить и любое двоичное число. Только основание здесь будет 2:
10001001 = 1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0
Если посчитать сумму составляющих, то в итоге мы получим десятичное число, соответствующее 10001001:
1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137
Т.е. число 10001001 по основанию 2 равно числу 137 по основанию 10. Записать это можно так:
100010012 = 13710
Почему двоичная система счисления так распространена?
Дело в том, что двоичная система счисления – это язык вычислительной техники. Каждая цифра должна быть как-то представлена на физическом носителе. Если это десятичная система, то придется создать такое устройство, которое может быть в десяти состояниях. Это сложно. Проще изготовить физический элемент, который может быть лишь в двух состояниях (например, есть ток или нет тока). Это одна из основных причин, почему двоичной системе счисления уделяется столько внимания.
Перевод десятичного числа в двоичное
Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:
77 / 2 = 38 (1 остаток)
38 / 2 = 19 (0 остаток)
19 / 2 = 9 (1 остаток)
9 / 2 = 4 (1 остаток)
4 / 2 = 2 (0 остаток)
2 / 2 = 1 (0 остаток)
1 / 2 = 0 (1 остаток)
Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:
1001101 = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77
Восьмеричная система счисления
Итак, современное «железо понимает» лишь двоичную систему счисления. Однако человеку трудно воспринимать длинные записи нулей и единиц с одной стороны, а с другой – переводит числа из двоичной в десятичную систему и обратно, достаточно долго и трудоемко. В результате, часто программисты используют другие системы счисления: восьмеричную и шестнадцатеричную. И 8 и 16 являются степенями двойки, и преобразовывать двоичное число в них (так же как и выполнять обратную операцию) очень легко.
В восьмеричной системе счисления используется восемь знаков-цифр (от 0 до 7). Каждой цифре соответствуют набор из трех цифр в двоичной системе счисления:
000 – 0
001 – 1
010 – 2
011 – 3
100 – 4
101 – 5
110 – 6
111 – 7
Для преобразования двоичного числа в восьмеричное достаточно разбить его на тройки и заменить их соответствующими им цифрами из восьмеричной системы счисления. Разбивать на тройки нужно начинать с конца, а недостающие цифры в начале заменить нулями. Например:
1011101 = 1 011 101 = 001 011 101 = 1 3 5 = 135
Т.е число 1011101 в двоичной системе счисления равно числу 135 в восьмеричной системе счисления. Или 10111012 = 1358.
Обратный перевод. Допустим, требуется перевести число 1008 (не заблуждайтесь! 100 в восьмеричной системе – это не 100 в десятичной) в двоичную систему счисления.
1008 = 1 0 0 = 001 000 000 = 001000000 = 10000002
Перевод восьмеричного числа в десятичное можно осуществить по уже знакомой схеме:
6728 = 6 * 8 2 + 7 * 8 1 + 2 * 8 0 = 6 * 64 + 56 + 2 = 384 + 56 + 2 = 44210
1008 = 1 * 8 2 + 0 * 8 1 + 0 * 8 0 = 6410
Шестнадцатеричная система счисления
Шестнадцатеричная система счисления, так же как и восьмеричная, широко используется в компьютерной науке из-за легкости перевода в нее двоичных чисел. При шестнадцатеричной записи числа получаются более компактными.
В шестнадцатеричной системе счисления используются цифры от 0 до 9 и шесть первых латинских букв – A (10), B (11), C (12), D (13), E (14), F (15).
При переводе двоичного числа в шестнадцатеричное, первое разбивается на группы по четыре разряда, начиная с конца. В случае, если количество разрядов не делится нацело, то первая четверка дописывается нулями впереди. Каждой четверке соответствует цифра шестнадцатеричной системе счисления:
Например:
10001100101 = 0100 1100 0101 = 4 C 5 = 4C5
Если потребуется, то число 4C5 можно перевести в десятичную систему счисления следующим образом (C следует заменить на соответствующее данному символу число в десятичной системе счисления – это 12):
4C5 = 4 * 162 + 12 * 161 + 5 * 160 = 4 * 256 + 192 + 5 = 1221
Максимальное двухразрядное число, которое можно получить с помощью шестнадцатеричной записи — это FF.
FF = 15 * 161 + 15 * 160 = 240 + 15 = 255
255 – это максимальное значение одного байта, равного 8 битам: 1111 1111 = FF. Поэтому с помощью шестнадцатеричной системы счисления очень удобно кратко (с помощью двух цифр-знаков) записывать значения байтов. Внимание! Состояний у 8-ми битного байта может быть 256, однако максимальное значение – 255. Не забывайте про 0 – это как раз 256-е состояние
Позиционные системы счисления
Системы счисления — одна из самых базовых тем в информатике, в этой теме надо разбираться по порядку.
Допустим, необходимо посчитать количество цветов на поляне. Можно загибать пальцы, делать зарубки на дереве, как это делали древние люди, и так далее. Можно сделать вывод, что форма счета может быть любой, также, как и форма записи. Для способа записи чисел ввели такое понятие, как система счисления.
Существует два типа систем счисления:
Непозиционная (римская и египетская системы счисления)
Позиционная (арабская десятичная система счисления, двоичная и т.д.)
Нас будут интересовать именно позиционные системы счисления с различными основаниями. Самые популярные системы счисления: двоичная, восьмеричная, десятичная, шестнадцатеричная. Позиционные системы счисления основаны на том, что «вес» цифры зависит от её положения — или позиции — в числе, отсюда и такое название. Для успешной подготовки к экзамену необходимо уметь переводить любое число из десятичной системы счисления в любую другую n‑ричную и из n‑ричной в десятичную. Далее приведена информация по каждому случаю.
Десятичная система счисления
Исторически сложилось, что это самая распространенная система счисления. Именно её мы используем, когда мы делаем покупки в магазине, набираем номер телефона или открываем страницу в книге. На каждой позиции может стоять только одна цифра из диапазона от 0 до 9. Основанием (то есть, количество цифр) является число 10. Это значит, что «вес» любой цифры в числе будет кратен 10 в степени, равной позиции этой цифры. При этом позиции (их называют разрядами) отсчитываются с правого конца числа, начиная с нуля.
Пример. Чтобы разобраться подробнее, возьмем число 123. Давайте «разложим» это число по разрядам. Для этого каждую цифру числа умножим на основание системы, в данном случае число 10, возведенное в степень, равную номеру разряда. Цифра 3 стоит в нулевом разряде, цифра 2 — в первом, а цифра 1 — во втором. Получается, значение равно:
1 * 10 2 + 2 * 10 1 + 3 * 10 0 = 100 + 20 + 3 = 123.
При работе с разными системами счисления, чтобы избежать путаницы, справа от числа приписывают нижний индекс с основанием: 12310.
Двоичная система счисления
Эта система счисления используется в вычислительной технике. Десятичную систему счисления в компьютерах не стали использовать, потому что требовалось производство устройств, способных работать в десяти состояниях, а это сильно увеличило бы цену и размер таких устройств. Двоичная же система позволяла экономить на всем.
Двоичная система счисления, как следует из названия, имеет основание 2 и использует только цифры 0 и 1.