Найти в Дзене
Универ на диване

Системы счисления. Вспоминаем и конвертируем

Здравствуйте, Дорогие друзья! В этой статье поговорим с Вами о системах счислений и о том как ими оперировать. Для тех, кто только-только узнал, что данные можно записывать не только в виде «цыфирек» от 0 до 9 (имеются ввиду школьники, начинающие изучать информатику, ну или студенты, подзабывшие это), я поясню смысл понятия «система счисления» подробно. А пояснение простое: возьмем две книги: допустим роман «Мастера и Маргариту» Булгакова и обычную «Азбуку», в которой на какой-нибудь странице имеется алфавит. «Мастер» - это совокупность слов, строчек, программ, проще говоря – данные. Алфавит же – система счисления. То есть, система счисления – набор символов, используемый для записи информации. Изменяя систему счисления можно представить одну и ту же информацию по-разному. Зачем? Разберемся по мере чтения статьи (читать-то легче, а мне-то писать...). Итак, самой популярной системой счисления является десятичная. Так сложилось испокон веков: десять пальцев на руках спасут мир, то есть п

Здравствуйте, Дорогие друзья! В этой статье поговорим с Вами о системах счислений и о том как ими оперировать. Для тех, кто только-только узнал, что данные можно записывать не только в виде «цыфирек» от 0 до 9 (имеются ввиду школьники, начинающие изучать информатику, ну или студенты, подзабывшие это), я поясню смысл понятия «система счисления» подробно. А пояснение простое: возьмем две книги: допустим роман «Мастера и Маргариту» Булгакова и обычную «Азбуку», в которой на какой-нибудь странице имеется алфавит. «Мастер» - это совокупность слов, строчек, программ, проще говоря – данные. Алфавит же – система счисления. То есть, система счисления – набор символов, используемый для записи информации. Изменяя систему счисления можно представить одну и ту же информацию по-разному. Зачем? Разберемся по мере чтения статьи (читать-то легче, а мне-то писать...). Итак, самой популярной системой счисления является десятичная. Так сложилось испокон веков: десять пальцев на руках спасут мир, то есть помогут выполнить бартер. Как уже сказано эта система счисления известна нам с детства: 0 1 2 3 4 5 6 7 8 9.

Следующая по значимости для нас система счисления – двоичная. «Нолики и единички» или язык ЭВМ. Абсолютно любое число можно записать в двоичной системе счисления. Но тут появляется особенность двоичной системы счисления. Записать можно, но не всегда. Точнее не так: записать можно, но нужно для этого соблюсти определенные условия. Вернемся к десятичной системе счисления. Характеризуя число мы обычно говорим о количестве в нем знаков, то есть символов системы счисления: двухзначное, трехзначное и т.д. Так вот: для двоичной системы счисления такая характеристика тоже имеется. Только вместо «значности» принято употреблять «разрядность». Каждый разряд двоичного числа (как впрочем и любого другого) нумеруется. Нумерация выполняется справа – налево, то есть от младшего (самого маленького) разряда к старшему (самому большому).

Чтобы записать информацию в двоичной системе счисления нужно понять принцип формирования «слов» из нулей и единиц. Он не сложный. Мы просто сдвигаем единицу. Я буду записывать числа в десятичной системе счисления и ставить им в соответствие числа в двоичной системе счисления. Смотрите:

А теперь ломаем шаблон: в младшем разряде нуль, получить следующее число сдвигом единицы не получится. Как же быть? Давайте разбираться. Начнем с того почему мы вообще сдвигаем единицу. Снова смотрим на десятичную последовательность:

-2

Каждое последующее число получается увеличением на единицу текущего числа. Единица в десятичной системе счисления – символ, обозначающий самое маленькое число. В двоичной системе всё абсолютно так же.

-3

При суммировании нуля и единицы мы получаем единицу, а при суммировании двух единиц мы получаем тот самый сдвиг на один знак влево, то есть в сторону старшего разряда. Ура, принцип образования чисел понятен. А теперь переведем число из десятичной системы счисления в двоичную. «Да нет ничего проще!» - скажут некоторые из Вас, принцип-то понятен, только что его разбирали. Хорошо. А переведите из десятичной системы в двоичную число, скажем, 8262? А вот тут и возникла проблема: слишком уж много раз сдвиг в уме делать. Поэтому упростим конвертацию, как говорится «Всё уже придумано до нас», поэтому берем и пользуемся. Классический метод конвертации из 10-тичной системы в 2 – ичную основан на делении числа на 2 и записи остатка.

-4

Разберем суть метода? Числа бывают четными и нечетными. В двоичном виде у нечетных чисел в младшем разряде единица, а у четных – нуль. Мы с Вами уже говорили, что вне зависимости от того в какой системе счисления представляется информация, её суть остается прежней. Первым действием при выполнении конвертации из десятичной системы в двоичную мы определяем четное у нас число или нет (находим значение младшего разряда). Дальше мы переходим ко второму разряду, а потом и к третьему: если четное число, то нуль, если нечетное – единица. Вот и весь алгоритм: записать десятичное число, проверить четное или нет, записать 1 или нуль в текущий разряд, поделить число на два и повторить операцию. Для примера:

-5

Отсюда следует, что при переводе числа из десятичной системы счисления в двоичную достаточно проверить четность переводимого числа. Внимательные люди заметят хитрость данного метода:

-6

Теперь сделаем обратный перевод: из двоичной системы счисления в десятичную. Для этого нам нужно пронумеровать разряды. Помните, что разряды нумеруются с 0!

-7

Для того, чтобы перевести число из двоичной системы в десятичную нужно найти сумму чисел, которые мы получаем при возведении двойки на номер разряда и умножении на значение разряда. Для числа 10000001000110:

-8

Вот и всё, число конвертировано.

С двоичной системой счисления вроде как разобрались, пойдем дальше: троичная система счисления. Если в двоичной два символа в алфавите (0 и 1), то в троичной три (0, 1, 2). Ну что, слабо представить тройку или четверку в этой системе счисления?

-9

Ну и так далее... Конвертация осуществляется аналогично двоичной системе счисления. Конвертируем многострадальное число 8262:

-10

Получаем число 102100000. Теперь проверим: на этот раз возводим в степень не двойку, а тройку:

-11

Суммируем: 243 + 1458 + 6561 = 8262. Правила суммирования получаем следующие: если складываем 1 и 0, то получаем 1, если складываем 1 и 1 – получаем 2, складываем 1 и 2, получаем 10, а если сложим 2 и 2, то получим 11. Простая математика. Для наглядности решим такие примеры:

-12

Думаю принцип понятен. Рассмотрим теперь наиболее популярные системы счисления: восьмеричную и шестнадцатеричную. В восьмеричной системе восемь символов. Логично! 0, 1, 2, 3, 4, 5, 6 и 7. Перевод аналогичен двоичной и троичной системам:

-13

Готово: число 8262 в восьмеричной системе счисления будет иметь вид 20106. Проверим: в качестве основания восьмерка:

-14

Теперь давайте запишем небольшую таблицу соответствия для лучшего понимания:

-15

Результат суммирования символов Вы сами можете посмотреть по этой табличке.

А теперь самое интересное: чем больше основание системы счисления, тем меньше разрядов нужно для представления числа. Проверим, так ли это. Алфавит в шестнадцатеричной системе счисления следующий: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Переведем число 8262 из десятичной системы счисления в шестнадцатеричную:

-16

Получаем число 2046. Проверяем:

-17

Как видим, количество символов потребовалось столько же, но конвертированное число кажется меньшим. Так чем же экономит разряды применение шестнадцатеричной записи? Тем, что символам 10, 11, 12, 13, 14 и 15 ставятся в соответствие A, B, C, D, E и F. Два символа по цене одного. Например десятичное число 4095 мы можем записать в шестнадцатеричной системе в виде FFF. Тем самым сэкономим целый разряд.

На этом, пожалуй, всё. Надеюсь, Вам была полезна эта статья. Проблемы с конвертацией чисел из одной системы счисления в другую могут возникнуть не только у школьника, но и у студента, поэтому нет ничего зазорного в том, чтобы повторить данный материал. Однажды мне пришлось в уме конвертировать десятичные числа в восьмиразрядные двоичные числа, а затем также в уме складывать их по модулю два, могу Вам сказать, что бывает и не такое! Спасибо, что читаете. Удачи в учебе и труде!

-18