Калькулятор перевода в 16 систему счисления. Перевод чисел в двоичную, шестнадцатеричную, десятичную, восьмеричную системы счисления

Цели урока:

  • повторить изученный материал по теме система счисления;
  • научится переводить число из десятичной системы в любую другую позиционную систему счисления и наоборот;
  • освоить принципы перевода чисел из одной системы в другую;
  • развивать логическое мышление.

Ход урока

Вначале урока краткое повторение и проверка домашнего задания..

В каком виде представлена числовая информация в памяти компьютера?

Для чего используются системы счисления?

Какие виды систем счисления вы знаете? Привести свои примеры.

Чем отличаются позиционные системы от непозиционных?.

Цель нашего урока научится переводить число из десятичной системы в любую другую позиционную систему счисления и наоборот. Но в начале мы рассмотрим, как можно

представить любое целое неотрицательное чисело:

В позиционных системах значение записи целого числа определяется по следующему правилу: пусть a n a n-1 a n-2 …a 1 a 0 - запись числа A, а i – цифры, тогда

где p - целое число большее 1, которое называется основанием системы счисления

Для того, чтобы при заданном p любое неотрицательное целое число можно было бы записать по формуле (1) и притом единственным образом, числовые значения различных цифр должны быть различными целыми числами, принадлежащими отрезку от 0 до p-1.

1) Десятичная система

цифры: 0,1,2,3,4,5,6,7,8,9

число 5735 = 5·10 3 +7·10 2 +3·10 1 +8·10 0

2) Троичная система

цифры: 0,1,2

число 201 3 = 2·3 2 +0·3 1 +1·3 0

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

Представление отрицательных и дробных чисел:

Во всех позиционных системах для записи отрицательных чисел так же как и в десятичной системе используется знак ‘–‘. Для отделения целой части числа от дробной используется запятая. Значение записи a n a n-1 a n-2 …a 1 a 0 , a -1 a -2 …a m-2 a m-1 a m числа A определяется по формуле, являющейся обобщением формулы (1):

75,6 = 7·10 1 +5·10 0 +6·10 –1

–2,314 5 = –(2·5 0 +3·5 –1 +1·5 –2 +4·5 –3)

Перевод чисел из произвольной системы счисления в десятичную:

Следует понимать, что при переводе числа из одной системы счисления в другую количественное значение числа не изменяется, а меняется только форма записи числа, так же как при переводе названия числа, например, с русского языка на английский.

Перевод чисел из произвольной системы счисления в десятичную выполняется непосредственным вычислением по формуле (1) для целых и формуле (2) для дробных чисел.

Перевод чисел из десятичной системы счисления в произвольную.

Перевести число из десятичной системы в систему с основанием p – значит найти коэффициенты в формуле (2). Иногда это легко сделать простым подбором. Например, пусть нужно перевести число 23,5 в восьмеричную систему. Нетрудно заметить, что 23,5 = 16+7+0,5 = 2·8+7+4/8 = 2·8 1 +7·8 0 +4·8 –1 =27,48. Понятно, что не всегда ответ столь очевиден. В общем случае применяется способ перевода отдельно целой и дробной частей числа.

Для перевода целых чисел применяется следующий алгоритм (полученный на основании формулы (1)):

1. Найдем частное и остаток от деления числа на p. Остаток будет очередной цифрой ai (j=0,1,2 …) записи числа в новой системе счисления.

2. Если частное равно нулю, то перевод числа закончен, иначе применяем к частному пункт 1.

Замечание 1. Цифры ai в записи числа нумеруются справа налево.

Замечание 2. Если p>10, то необходимо ввести обозначения для цифр с числовыми значениями, большими или равными 10.

Перевести число 165 в семеричную систему счисления.

165:7 = 23 (остаток 4) => a 0 = 4

23:7 = 3 (остаток 2) => a 1 = 2

3:7 = 0 (остаток 3) => a 2 = 3

Выпишем результат: a 2 a 1 a 0 , т.е. 3247.

Выполнив проверку по формуле (1), убедимся в правильности перевода:

3247=3·7 2 +2·7 1 +4·7 0 =3·49+2·7+4 = 147+14+4 = 165.

Для перевода дробных частей чисел применяется алгоритм, полученный на основании формулы (2):

1. Умножим дробную часть числа на p.

2. Целая часть результата будет очередной цифрой am (m = –1,–2, –3 …) записи числа в новой системе счисления. Если дробная часть результата равна нулю, то перевод числа закончен, иначе применяем к ней пункт 1.

Замечание 1. Цифры a m в записи числа располагаются слева направо в порядке возрастания абсолютного значения m.

Замечание 2. Обычно количество дробных разрядов в новой записи числа ограничивается заранее. Это позволяет выполнить приближенный перевод с заданной точностью. В случае бесконечных дробей такое ограничение обеспечивает конечность алгоритма.

Перевести число 0,625 в двоичную систему счисления.

0,625·2 = 1,25 (целая часть 1) => a -1 =1

0,25·2 = 0,5 (целая часть 0) => a- 2 = 0

0,5·2 = 1,00 (целая часть 1) => a- 3 = 1

Итак, 0,62510 = 0,1012

Выполнив проверку по формуле (2), убедимся в правильности перевода:

0,1012=1·2 -1 +0·2- 2 +1·2 -3 =1/2+1/8 = 0,5+0,125 = 0,625.

Перевести число 0,165 в четверичную систему счисления, ограничившись четырьмя четверичными разрядами.

0,165·4 = 0,66 (целая часть 0) => a -1 =0

0,66·4 = 2,64 (целая часть 2) => a -2 = 2

0,64·4 = 2,56 (целая часть 2) => a -3 = 2

0,56·4 = 2,24 (целая часть 2) => a -4 = 2

Итак, 0,16510 ” 0,02224

Выполним обратный перевод, чтобы убедиться, что абсолютная погрешность не превышает 4–4:

0,02224 = 0·4 -1 +2·4 -2 +2·4 -3 +2·4 -4 = 2/16+2/64+2/256 = 1/8+1/32+1/128 = 21/128 = 0,1640625

|0,1640625–0,165| = 0,00094 < 4–4 = 0,00390625

Перевод чисел из одной произвольной системы в другую

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

Особым способом выполняется перевод чисел для систем с кратными основаниями.

Пусть p и q – основания двух систем счисления. Будем называть эти системы системами счисления с кратными основаниями, если p = qn или q = pn, где n – натуральное число. Так, например, системы счисления с основаниями 2 и 8 являются системами счисления с кратными основаниями.

Пусть p = qn и требуется перевести число из системы счисления с основанием q в систему счисления с основанием p. Разобьем целую и дробную части записи числа на группы по n последовательно записанных цифр влево и вправо от запятой. Если количество цифр в записи целой части числа не кратно n, то надо дописать слева соответствующее количество нулей. Если количество цифр в записи дробной части числа не кратно n, то нули дописываются справа. Каждая такая группа цифр числа в старой системе счисления будет соответствовать одной цифре числа в новой системе счисления.

Переведем 1100001,111 2 в четверичную систему счисления.

Дописав нули и выделив пары цифр, получим 01100001,11102.

Теперь выполним перевод отдельно каждой пары цифр, пользуясь пунктом Перевод чисел из одной произвольной системы в другую.

Итак, 1100001,1112 = 01100001,11102 = 1201,324.

Пусть теперь требуется выполнить перевод из системы с большим основанием q, в систему с меньшим основанием p, т.е. q = p n . В этом случае одной цифре числа в старой системе счисления соответствует n цифр числа в новой системе счисления.

Пример: Выполним проверку предыдущего перевода числа.

1201,324 = 1100001,11102=1100001,1112

В шестнадцатеричной системе есть цифры с числовыми значениями 10,11,12, 13,14,15. Для их обозначения используют первые шесть букв латинского алфавита A, B, C, D, E, F.

Приведем таблицу чисел от 0 до 16, записанных в системах счисления с основаниями 10, 2, 8 и 16.

Число в десятичной системе счисления 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
В восьмеричной 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
В двоичной 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
В шестнадцатеричной 0 1 2 3 4 5 6 7 8 9 A B C D E F 10

Для записи шестнадцатеричных цифр можно использовать также строчные латинские буквы a-f.

Пример: Переведем число 110101001010101010100,11 2 в шестнадцатеричную систему счисления.

Воспользуемся кратностью оснований систем счисления (16=2 4). Сгруппируем цифры по четыре, дописав, слева и справа нужное количество нулей

000110101001010101010100,1100 2

и, сверяясь с таблицей, получим: 1A9554,C 16

Вывод:

В какой системе счисления лучше записывать числа – это вопрос удобства и традиций. С технической точки зрения, в ЭВМ удобно использовать двоичную систему, так как в ней для записи числа используются только две цифры 0 и 1, которые можно представить двумя легко различимыми состояниями “нет сигнала ” и “есть сигнал”.

А человеку, напротив, неудобно иметь дело с двоичными записями чисел из-за того, что они более длинные, чем десятичные и в них много повторяющихся цифр. Поэтому, при необходимости работать с машинными представлениями чисел используют восьмеричную или шестнадцатеричную системы счисления. Основания этих систем – целые степени двойки, и поэтому числа легко переводятся из этих систем в двоичную и обратно.

Записываем задание на дом:

а) Запишите дату рождения всех членов вашей семьи в различных системах счисления.

б) Переведите числа из двоичной системы в восьмеричную и шестнадцатеричную, а затем проверьте результаты, выполнив обратные переводы:

а) 1001111110111,011 2 ;

Возникли какие-то трудности и недопонимания с преобразованием чисел из двоичной в шестнадцатеричную систему счисления? Записывайтесь ко мне на индивидуальные уроки по информатике и ИКТ. На своих частных уроках мы с учениками разбираем не только теоретическую часть, но также решаем колоссальное количество различных тематических упражнений.

Нужно знать, что такое двоичная или бинарная система счисления

Прежде чем размышлять о том, как перевести число из 2 в 16, необходимо хорошо понимать, что собою представляют числа в двоичной системе счисления. Напомню, что алфавит бинарной системы счисления состоит из двух допустимых элементов – 0 и 1 . Это означает, что абсолютно любое число, записанное в двоичном виде, будет состоять из набора нулей и единиц. Вот примеры чисел, записанных в бинарном представлении: 10010, 100, 111101010110, 1000001.

Нужно знать, что такое шестнадцатеричная система счисления

С бинарной системой мы разобрались, вспомнили базовые моменты, сейчас поговорим о 16-ричной системе. Алфавит 16-ричной системы счисления состоит из шестнадцати различных знаков: 10 арабских цифр (от 0 до 9) и 6 первых заглавных латинских букв (от "А" до "F"). Это означает, что абсолютно любое число, записанное в шестнадцатеричном виде, будет состоять из знаков вышеприведенного алфавита. Вот примеры чисел, записанных в 16-ричном представлении:

810A FCDF 198303 100FFF0

Поговорим об алгоритме преобразования числа из 2-ной в 16-ричную систему счисления

Нам потребуется в обязательном порядке рассмотреть кодировочную таблицу Тетрад. Без применения данной таблицы будет довольно затруднительно оперативно осуществлять перевод чисел из 2 в 16 систему.

Назначение кодировочной таблицы Тетрад: однозначно сопоставить символы двоичной системы счисления и 16-ричной системы счисления.

Таблица Тетрад имеет следующую структуру:

Таблица Тетрад

0000 - 0

0001 - 1

0010 - 2

0011 - 3

0100 - 4

0101 - 5

0110 - 6

0111 - 7

1000 - 8

1001 - 9

1010 - A

1011 - B

1100 - C

1101 - D

1110 - E

1111 - F

Допустим нам требуется преобразовать число 101011111001010 2 в 16-ричную систему. В первую очередь необходимо исходный бинарный код разбить на группы по четыре разряда, причем, что очень важно, разбиение в обязательном порядке следует начинать справа налево.

101 . 0111 . 1100 . 1010

После разбиения мы получили четыре группы: 101, 0111, 1100 и 1010. Особого внимания требует самый левый сегмент, то есть сегмент 101. Как видно, его длина составляет 3 разряда, а необходимо, чтобы его длина равнялась четырем, следовательно, дополним данный сегмент ведущим незначащим нулем:

101 -> 0 101.

Вы скажите, а собственно на каком основании мы дописываем слева от числа какой-то 0? Все дело в том, что добавление незначащих нулей не оказывает никакого влияния на значение исходного числа. Следовательно, мы имеем полное право дописать слева от бинарного числа не только один ноль, а в принципе любое количество нулей и получить число нужной длины.

На заключительном этапе преобразования необходимо каждую из полученных бинарных групп перевести в соответствующее значение по кодировочной таблице Тетрад.

0101 -> 5 0111 -> 7 1100 -> C 1010 -> A

101011111001010 2 = 57СА 16

А сейчас я вам предлагаю ознакомиться с мультимединым решением, в котором показано как преобразуется из бинарного состояния в 16-ричное состояние:

Краткие выводы

В данной небольшой статье мы разобрали тему «Системы счисления: как перевести из 2 в 16 ». Если у вас остались какие-либо вопросы, недопонимания, то звоните и записывайтесь на мои индивидуальные уроки по информатике и программированию. Я предложу вам решить не один десяток подобных упражнений и у вас не останется ни одного вопроса. Вообще, системы счисления – чрезвычайно важная тема, которая образует фундамент, используемый на протяжении всего курса .

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

Перевод чисел из одной позиционной системы счисления в другую: перевод целых чисел.

Чтобы перевести целое число из одной системы счисления с основанием d1 в другую с основанием d2 необходимо последовательно делить это число и получаемые частные на основание d2 новой системы до тех пор, пока не получится частное меньше основания d2. Последнее частное - старшая цифра числа в новой системе счисления с основанием d2, а следующие за ней цифры - это остатки от деления, записываемые в последовательности, обратной их получению. Арифметические действия выполнять в той системе счисления, в которой записано переводимое число.

Пример 1. Перевести число 11(10) в двоичную систему счисления.

Ответ: 11(10)=1011(2).

Пример 2. Перевести число 122(10) в восьмеричную систему счисления.


Ответ: 122(10)=172(8).

Пример 3. Перевести число 500(10) в шестнадцатеричную систему счисления.


Ответ: 500(10)=1F4(16).

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

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

При переводе смешанных чисел, необходимо в новую систему перевести отдельно целую и дробную части по правилам перевода целых чисел и правильных дробей, а затем оба результата объединить в одно смешанное число в новой системе счисления.

Пример 1. Перевести число 0,625(10) в двоичную систему счисления.


Ответ: 0,625(10)=0,101(2).

Пример 2. Перевести число 0,6(10) в восьмеричную систему счисления.


Ответ: 0,6(10)=0,463(8).

Пример 2. Перевести число 0,7(10) в шестнадцатеричную систему счисления.


Ответ: 0,7(10)=0,В333(16).

Перевод двоичных, восьмеричных и шестнадцатеричных чисел в десятичную систему счисления.

Для перевода числа P-ичной системы в десятичную необходимо использовать следующую формулу разложения:
аnan-1…а1а0=аnPn+ аn-1Pn-1+…+ а1P+a0 .

Пример 1. Перевести число 101,11(2) в десятичную систему счисления.

Ответ: 101,11(2)= 5,75(10) .

Пример 2. Перевести число 57,24(8) в десятичную систему счисления.

Ответ: 57,24(8) = 47,3125(10) .

Пример 3. Перевести число 7A,84(16) в десятичную систему счисления.

Ответ: 7A,84(16)= 122,515625(10) .


Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему счисления и обратно.

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

Пример: записать число 16,24(8) в двоичной системе счисления.


Ответ: 16,24(8)= 1110,0101(2) .

Для обратного перевода двоичного числа в восьмеричную систему счисления, необходимо исходное число разбить на триады влево и вправо от запятой и представить каждую группу цифрой в восьмеричной системе счисления. Крайние неполные триады дополняют нулями.

Пример: записать число 1110,0101(2) в восьмеричной системе счисления.


Ответ: 1110,0101(2)= 16,24(8) .

Для перевода числа из шестнадцатеричной системы счисления в двоичную необходимо каждую цифру этого числа записать четырехразрядным двоичным числом (тетрадой).

Пример: записать число 7A,7E(16) в двоичной системе счисления.


Ответ: 7A,7E(16)= 1111010,0111111(2) .

Примечание: незначащие нули слева для целых чисел и справа для дробей не записываются.

Для обратного перевода двоичного числа в шестнадцатеричную систему счисления, необходимо исходное число разбить на тетрады влево и вправо от запятой и представить каждую группу цифрой в шестнадцатеричной системе счисления. Крайние неполные триады дополняют нулями.

Пример: записать число 1111010,0111111(2) в шестнадцатеричной системе счисления.

Когда занимаешься настройками сетей различного масштаба и каждый день сталкиваешься с вычислениями – то такого рода шпаргалки заводить не обязательно, все и так делается на безусловном рефлексе. Но когда в сетях ковыряешься очень редко, то не всегда вспомнишь какая там маска в десятичной форме для префикса 21 или же какой адрес сети при этом же префиксе. В связи с этим я и решил написать несколько маленьких статей-шпаргалок по переводом чисел в различные системы счислений, сетевым адресам, маскам и т.п. В это части пойдет речь о переводи чисел в различные системы счислений.

1. Системы счислений

Когда вы занимаетесь чем-то связанным с компьютерными сетями и ИТ, вы по любому столкнетесь с этим понятием. И как толковый ИТ-шник вам нужно разбираться в этом хотя бы чу-чуть даже если на практике вы это будете применять очень редко.
Рассмотрим перевод каждой цифры из IP-адреса 98.251.16.138 в следующие системы счислений:

  • Двоичная
  • Восьмеричная
  • Десятичная
  • Шестнадцатеричная

1.1 Десятичная

Так как цифры записаны в десятичной, перевод с десятичной в десятичную пропустим 🙂

1.1.1 Десятичная → Двоичная

Как мы знаем двоичная система счисления используется практически во всех современных компьютерах и многих других вычислительных устройствах. Система очень проста – у нас есть только 0 и 1.
Для преобразования числа с десятиной в двоичную форму нужно использовать деление по модулю 2 (т.е. целочисленное деление на 2) в результате чего мы всегда будем иметь в остатке либо 1, либо 0. При этом результат записываем справа налево. Пример все поставит на свои места:


Рисунок 1.1 – Перевод чисел из десятичной в двоичную систему


Рисунок 1.2 – Перевод чисел из десятичной в двоичную систему

Опишу деление числа 98. Мы делим 98 на 2, в результате имеем 49 и остаток 0. Далее продолжаем деление и делим 49 на 2, в результате имеем 24 с остатком 1. И таким же образом добираемся до 1-ки или 0-ка в делимом. Затем результат записываем справа налево.

1.1.2 Десятичная → Восьмеричная

Восьмеричная система – это целочисленная система счисления с основанием 8. Т.е. все числа в ней представлены диапазоном 0 – 7 и для перевода с десятичной системы нужно использовать деление по модулю 8.


Рисунок 1.3 – Перевод чисел из десятичной в восьмеричную систему

Деление аналогично 2-чной системе.

1.1.3 Десятичная → Шестнадцатеричная

Шестнадцатеричная система почти полностью вытеснила восьмеричную систему. У нее основание 16, но используются десятичные цифры от 0 до 9 + латинские буквы от A(число 10) до F(число 15). С ней вы сталкиваетесь каждый раз, когда проверяете настройки сетевого адаптера — это МАС-адрес. Так же, когда используется IPv6.


Рисунок 1.4 – Перевод чисел из десятичной в шестнадцатеричную систему

1.2 Двоичная

В предыдущем примере мы перевели все десятичные числа в другие системы счислений, одна из которых двоичная. Теперь переведем каждое число с двоичной формы.

1.2.1 Двоичная → Десятичная

Для перевода чисел с двоичной формы в десятичную нужно знать два нюанса. Первый – у каждого нолика и единички есть множитель 2 в n-й степени, при котором n увеличивается справа налево ровно на единичку. Второй – после перемножения все числа нужно сложить и мы получим число в десятичной форме. В итого у нас будет формула такого вида:

D = (a n × p n-1) + (a n-1 × p n-2) + (a n-2 × p n-3) +…, (1.2.1)

Где,
D – это число в десятичной форме, которое мы ищем;
n – количество символов в двоичном числе;
a – число в двоичной форме на n-й позиции (т.е. первый символ, второй, и т.п.);
p – коэффициент, равный 2,8 или 16 в степени n (в зависимости от системы счисления)

К примеру возьмем число 110102. Смотрим на формулу и записываем:

  • Число состоит из 5 символов (n =5)
  • a 5 = 1, a 4 = 1, a 3 = 0, a 2 = 1, a 1 = 0

  • p = 2 (так как переводим из двоичной в десятичную)

В итоге имеем:

D = (1 × 2 5-1) + (1 × 2 5-2) + (0 × 2 5-3) + (1 × 2 5-4) + (0 × 2 5-5) = 16 + 8 + 0 + 2 + 0 = 26 10

Кто привык записывать справа на лево, форму будет выглядеть так:

D = (0 × 2 5-5) + (1 × 2 5-4) + (0 × 2 5-3) + (1 × 2 5-2) + (1 × 2 5-1) = 0 + 2 + 0 + 8 + 16 = 26 10

Но, как мы знаем, от перестановки слагаемых сумма не меняется. Давайте теперь переведем наши числа в десятичную форму.


Рисунок 1.5 – Перевод чисел из двоичной в десятичную систему

1.2.2 Двоичная → Восьмеричная

При переводе нам нужно двоичное число разбить на группы по три символа справа налево. Если последняя группа не состоит из трех символов, то мы просто возмещаем недостающие биты ноликами. К примеру:

10101001 = 0 10 101 001

1011100 = 00 1 011 100

Каждая группа битов – это одно из восьмеричных чисел. Чтобы узнать какое, нужно использовать написанную выше формулу 1.2.1 для каждой группы битов. В результате мы получим.


Рисунок 1.6 – Перевод чисел из двоичной в восьмеричную систему

1.2.3 Двоичная → Шестнадцатеричная

Здесь нам нужно двоичное число разбивать на группы по четыре символа справа налево с последующим дополнением недостающих битов группы ноликами, как писалось выше. Если последняя группа состоит из ноликов, то их нужно игнорировать.

110101011 = 000 1 1010 1011

1011100 = 0 101 1100

001010000 = 00 0101 0000 = 0101 0000

Каждая группа битов – это одно из шестнадцатеричных чисел. Используем формулу 1.2.1 для каждой группы битов.


Рисунок 1.7 – Перевод чисел из двоичной в шестнадцатеричную систему

1.3 Восьмеричная

В этой системе у нас могут возникнуть сложности только при переводе в 16-ричную систему, так как остальной перевод проходит гладко.

1.3.1 Восьмеричная → Двоичная

Каждое число в восьмеричной системе – это группа из трех битов в двоичной системе, как писалось выше. Для перевода нам нужно воспользоваться табличкой-шпаргалкой:


Рисунок 1.8 – Шпора по переводу чисел из восьмеричной системы

Используя эту табличку переведем наши числа в двоичную систему.


Рисунок 1.9 – Перевод чисел из восьмеричной в двоичную систему

Немного опишу вывод. Первое число у нас 142, значит будет три группы по три бита в каждой. Юзаем шпору и видим, что цифра 1 это 001, цифра 4 это 100 и цифра 2 это 010. В результате имеем число 001100010.

1.3.2 Восьмеричная → Десятичная

Здесь мы используем формулу 1.2.1 только с коэффициентом 8 (т.е. p=8). В результате имеем


Рисунок 1.10 – Перевод чисел из восьмеричной в десятеричную систему

  • Число состоит из 3 символов (n =3)
  • a 3 = 1, a 2 = 4, a 1 = 2

  • p = 8 (так как переводим из восьмеричной в десятичную)

В результате имеем:

D = (1 × 8 3-1) + (4 × 8 3-2) + (2 × 8 3-3) = 64 + 32 + 2 = 98 10

1.3.3 Восьмеричная → Шестнадцатеричная

Как писалось раньше, для перевода нам нужно сначала перевести числа в двоичную систему, потом с двоичной в шестнадцатеричную, поделив на группы по 4-ре бита. Можно использовать следующею шпору.


Рисунок 1.11 – Шпора по переводу чисел из шестнадцатеричной системы

Эта табличка поможет перевести из двоичной в шестнадцатеричную систему. Теперь переведем наши числа.


Рисунок 1.12 – Перевод чисел из восьмеричной в шестнадцатеричную систему

1.4 Шестнадцатеричная

В этой системе та же проблема, при переводе в восьмеричную. Но об этом позже.

1.4.1 Шестнадцатеричная → Двоичная

Каждое число в шестнадцатеричной системе – это группа из четырех битов в двоичной системе, как писалось выше. Для перевода нам можно воспользоваться табличкой-шпаргалкой, которая находиться выше. В результате:


Рисунок 1.13 – Перевод чисел из шестнадцатеричной в двоичную систему

Возьмем первое число – 62. Используя табличку (рис. 1.11) мы видим, что 6 это 0110, 2 это 0010, в результате имеем число 01100010.

1.4.2 Шестнадцатеричная → Десятичная

Здесь мы используем формулу 1.2.1 только с коэффициентом 16 (т.е. p=16). В результате имеем


Рисунок 1.14 – Перевод чисел из шестнадцатеричной в десятеричную систему

Возьмем первое число. Исходя из формулы 1.2.1:

  • Число состоит из 2 символов (n =2)
  • a 2 = 6, a 1 = 2

  • p = 16 (так как переводим из шестнадцатеричной в десятичную)

В результате имеем.

D = (6 × 16 2-1) + (2 × 16 2-2) = 96 + 2 = 98 10

1.4.3 Шестнадцатеричная → Восьмеричная

Для перевода в восьмеричную систему нужно сначала перевести в двоичную, затем разбить на группы по 3-и бита и воспользоваться табличкой (рис. 1.8). В результате:


Рисунок 1.15 – Перевод чисел из шестнадцатеричной в восьмеричную систему

В пойдет речь о IP-адресах, масках и сетях.

Замечание 1

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

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

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

    При переводе двоичного числа в десятичное требуется представить двоичное число в виде многочлена , каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $2$, а затем нужно вычислить многочлен по правилам десятичной арифметики:

    $X_2=A_n \cdot 2^{n-1} + A_{n-1} \cdot 2^{n-2} + A_{n-2} \cdot 2^{n-3} + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$

Рисунок 1. Таблица 1

Пример 1

Число $11110101_2$ перевести в десятичную систему счисления.

Решение. Используя приведенную таблицу $1$ степеней основания $2$, представим число в виде многочлена:

$11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 128 + 64 + 32 + 16 + 0 + 4 + 0 + 1 = 245_{10}$

    Для перевода числа из восьмеричной системы счисления в десятичную требуется представить его в виде многочлена, каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $8$, а затем нужно вычислить многочлен по правилам десятичной арифметики:

    $X_8 = A_n \cdot 8^{n-1} + A_{n-1} \cdot 8^{n-2} + A_{n-2} \cdot 8^{n-3} + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$

Рисунок 2. Таблица 2

Пример 2

Число $75013_8$ перевести в десятичную систему счисления.

Решение. Используя приведенную таблицу $2$ степеней основания $8$, представим число в виде многочлена:

$75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_{10}$

    Для перевода числа из шестнадцатеричной системы счисления в десятичную необходимо его представить в виде многочлена, каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $16$, а затем нужно вычислить многочлен по правилам десятичной арифметики:

    $X_{16} = A_n \cdot 16^{n-1} + A_{n-1} \cdot 16^{n-2} + A_{n-2} \cdot 16^{n-3} + ... + A_2 \cdot 16^1 + A_1 \cdot 16^0$

Рисунок 3. Таблица 3

Пример 3

Число $FFA2_{16}$ перевести в десятичную систему счисления.

Решение. Используя приведенную таблицу $3$ степеней основания $8$, представим число в виде многочлена:

$FFA2_{16} = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_{10}$

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

  • Для перевода числа из десятичной системы счисления в двоичную его необходимо последовательно делить на $2$ до тех пор, пока не останется остаток, меньший или равный $1$. Число в двоичной системе представить как последовательность последнего результата деления и остатков от деления в обратном порядке.

Пример 4

Число $22_{10}$ перевести в двоичную систему счисления.

Решение:

Рисунок 4.

$22_{10} = 10110_2$

  • Для перевода числа из десятичной системы счисления в восьмеричную его необходимо последовательно делить на $8$ до тех пор, пока не останется остаток, меньший или равный $7$. Число в восьмеричной системе счисления представить как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

Пример 5

Число $571_{10}$ перевести в восьмеричную систему счисления.

Решение:

Рисунок 5.

$571_{10} = 1073_8$

  • Для перевода числа из десятичной системы счисления в шестнадцатеричную систему его необходимо последовательно делить на $16$ до тех пор, пока не останется остаток, меньший или равный $15$. Число в шестнадцатеричной системе представить как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

Пример 6

Число $7467_{10}$ перевести в шестнадцатеричную систему счисления.

Решение:

Рисунок 6.

$7467_{10} = 1D2B_{16}$

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

    Например: $0,3125_{(10)}$ в восьмеричной системе счисления будет выглядеть как $0,24_{(8)}$.

    В данном случае можно столкнуться с проблемой, когда конечной десятичной дроби может соответствовать бесконечная (периодическая) дробь в недесятичной системе счисления. В данном случае количество знаков в дроби, представленной в новой системе, будет зависеть от требуемой точности. Также нужно отметить, что целые числа остаются целыми, а правильные дроби - дробями в любой системе счисления.

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

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

Рисунок 7. Таблица 4

Пример 7

Число $1001011_2$ перевести в восьмеричную систему счисления.

Решение . Используя таблицу 4, переведем число из двоичной системы счисления в восьмеричную:

$001 001 011_2 = 113_8$

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


Понравилась статья? Поделитесь ей
Наверх