Система счисления – это коды, которые используются для представления чисел числовыми знаками (цифрами). Наибольшее распространение получили позиционные системы счисления. В них запись произвольного числа А, имеющего основание m, представляется в виде полинома:
Здесь а – одна из цифр системы, m – основание системы, n – номер разряда;
При работе с системой счисления основание в большинстве случаев не пишут, а число записывается перечислением всех коэффициентов (символов) полинома:
Запятая, отделяющая дробную часть от целой, используется для фиксации значения каждого разряда в данной последовательности цифр.
Десятичная система счисления
Десятичная система счисления – одна из наиболее распространенных. Ее основание – 10. Использует она десять символов 0, 1, 2, …, 9. Возникновение десятичной системы счисления, согласно историческим сведениям, связано с количеством пальцев на руках.
В десятичной системе цифры 3807,45 представляют собой запись полинома:
в сокращенном виде.
При обычной записи в данной системе указываются только коэффициенты. Однако предполагают при этом, что их вес (значимость) определяется разрядом и различный, занимаемым данной цифрой (коэффициентом). Десятичная система не очень хорошо подходит для реализации в вычислительной техники. Это вызвано тем, что выполнение элемента с десятью различимыми состояниями довольно сложная техническая задача.
Унитарная система счисления
Здесь все проще – она имеет только один цифровой знак – 1. В этой системе можно обрабатывать только целые числа, которые будут представлены набором единиц. Например, число 2 будет представлено как 11, а число 17 как 11111111111111111. Унитарная система счисления очень проста и легко реализуемая – это плюс, но уж очень громоздкая – это минус. Ранее ее активно использовали для записей нужного количества импульсов на барабанах и магнитных лентах. Но из-за громоздкости она не получила широкого применения, ведь необходимо очень много символов для представления числа 4552/10 – 1111…1111…1111…
Другие позиционные системы счисления
Все другие позиционные системы счисления строятся по принципу десятичной системы счисления. Восьмеричная — использует восемь цифр m = 8 и на этом основании строится ее поленом, четверичная использует m = 4, пятеричная m = 5:
При основании m>10 приходится вводить новые символы. Яркий пример – шестнадцатеричная система счисления, состоящая из алфавита десятеричной – 0, 1, 2, …, 9 и дополнительных символов a, b, c, d ,e ,f. Наличие над цифрой черты сигнализирует о том, что численное значение данной цифры равно этому же значению, но необходимо добавить десять. Например, число 175,5/10 в шестнадцатеричной примет вид:
Двоичная система счисления
В двоичной системе счисления основание m = 2 и используются всего два символа – 1 и 0.Число в двоичной системе записывают полиномом, который может иметь только два значения – один или ноль. Например:
Или 1000101, 1/2.
Использование двоичной системы счисления отлично подходит для устройств, имеющих два состояния. Также благодаря простоте выполнения операций арифметических и своей экономичности получила широкое распространение в автоматике и, соответственно, в вычислительной технике.
Перевод чисел из одной системы счисления в другую
Наиболее простым переводом считают перевод чисел восьмеричного счисления в двоичный, и наоборот. Такой подход довольно широко распространен в вычислительной технике. Для перевода восьмеричного числа в двоичное, его заменяют аналогичным трехразрядным числом (триадой), представленным в двоичном коде, как показано ниже:
Для обратного перевода (из двоичного в восьмеричный), необходимо разделить двоичный код на триады и заменить их восьмеричными цифрами. Если же крайняя правая или левая триады неполные, то нужно будет дописать недостающие нули.
Пример. Нужно перевести восьмеричное число 34,5/8 в двоичное. Для этого разбиваем число на отдельные цифры 3, 4, 5 и заменяем их эквивалентными триадами двоичного кода и в итоге получаем 011 100, 101. Очень часто нули в начале и конце записи не пишут, поэтому вполне можно встретить и такую запись 11100,101.
Еще один пример для перевода двоичного числа 11 010 111, 110 101 в восьмеричное:
Для преобразования целых чисел из одной системы счисления в другую, их последовательно делят на основание системы в которую они переводятся до получения минимального значения. В результате получаются остатки от деления и полученное минимальное значение, которые читаются в обратном порядке, как показано на примерах ниже:
Двоично-кодированные системы счисления
Определенное неудобство двоичной кодировки заключается в ее громоздкости. Например, количество цифр двоичного кода примерно в 13,3 раза больше, чем такое же число в представлении десятичным кодом. Именно из-за этого в технике довольно часто используют смешанные системы кодирования, такие как двоично-шестнадцатеричную, двоично-восьмеричную, двоично-десятичную. При смешанном кодировании объединяют достоинства нескольких систем, а именно – емкость (для шестнадцатеричных, восьмеричных и десятичных) и двоичное изображение цифр при использовании двоичного кодирования.
В двоично-десятичном коде каждая цифра десятичного числа (0, 1, 2, …,9) записывается двоичным кодом. Для этого используют двоичные разряды – тетрады:
При использовании нормального значения (веса) каждого разряда двоичного кода, то значимость в тетраде разрядов (начинается с левого старшего разряда) составит 23 – 22 – 21 – 20, или же 8421. Исходя из этого, десятичные цифры будут представлены двоичным кодом: 1 — 0001; 2 – 0010, …, остальные коды представлены ниже:
Итак, двоично-десятичный код по существу является десятичным, а по форме двоичным. Ранее такие коды наиболее часто применялись для записи на перфоленты.
Рассмотренная выше двоично-десятичная система еще носит названия взвешенного двоично-десятичного кода 8421. Удобство данного кода хорошее, но имеется один недостаток, а именно – обрабатываться могут не только цифры 0…9, но и числа 10…15, которые используют не всегда и их приходится исключать.
Разработано большое количество кодов с другими наборами весов по разрядам – 2421, 5211, 7421 и многие другие. Также существуют коды, у которых присутствуют отрицательные веса в некоторых разрядах: (6)(4)(-2)(-1) и другие.
Также довольно часто используют для изображения в двоично-десятичных системах десятичных цифр комбинаторные коды, такие как – код Грея однопеременный, 2 из 5, 3 из 5 и другие.