Осуществить перевод чисел из разных систем исчисления можно различными способами. С помощью математических формул, с помощью онлайн сервисов. Запоминать возможности преобразования с помощью математических формул имеет смысл, если такого рода переводы необходимо выполнять ежедневно. У онлайн сервисов есть один недостаток в виде постоянного доступа к Интернет. Конечно представить место без доступа к Интернет уже сейчас довольно сложно, однако, бывает и такое.

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

восьмеричной  в двоичную с помощью функции ВОСЬМ.В.ДВ (OCT2BIN);

восьмеричной  в десятичную с помощью функции ВОСЬМ.В.ДЕС (OCT2DEC);

восьмеричной в шестнадцатеричную с помощью функции ВОСЬМ.В.ШЕСТН (OCT2HEX);

двоичной  в восьмеричную с помощью функции ДВ.В.ВОСЬМ (BIN2OCT);

двоичной  в десятичную с помощью функции ДВ.В.ДЕС (BIN2DEC);

двоичной  в шестнадцатеричную с помощью функции ДВ.В.ШЕСТН (BIN2HEX);

десятичной  в восьмеричную с помощью функции ДЕС.В.ВОСЬМ (DEC2OCT);

десятичной  в двоичную с помощью функции ДЕС.В.ДВ (DEC2BIN);

десятичной  в шестнадцатеричную с помощью функции ДЕС.В.ШЕСТН (DEC2HEX);

шестнадцатеричной  в восьмеричную с помощью функции ШЕСТН.В.ВОСЬМ (HEX2OCT);

шестнадцатеричной  в двоичную с помощью функции ШЕСТН.В.ДВ (HEX2BIN);

шестнадцатеричной  в десятичную с помощью функции ШЕСТН.В.ДЕС (HEX2DEC);

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

[spoiler]Поскольку основание восьмеричной системы является степенью для двоичной, то перевод между этими двумя системами достаточно тривиальная задача. Достаточно осуществить перевод каждой цифры из восьмеричной системы в двоичную справа на лево. Соответствие цифр двух система представлено в таблице.

Двоичная система Восьмеричная система
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7

Например, 235 в восьмеричной системе равно: 5=101, 3=011, 2=010 и результат равен 010011101 или 10011101 (начальные нули в двоичной системе можно опустить).

Для осуществления данного преобразования с помощью MS Excel следует воспользоваться функцией ВОСЬМ.В.ДВ или OCT2BIN, если у Вас установлена англоязычная версия MS Excel.

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

Результатом будет одно и то же число, просто оно может быть записано с нулями вначале или без них.[/spoiler]

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

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

Например, число 235 будет равняться = 5*8(в нулевой степени) + 3*8(в первой степени) + 2*8(во второй степени) = 5*1+3*8+2*64=157

Для осуществления данного преобразования с помощью MS Excel следует воспользоваться функцией ВОСЬМ.В.ДЕС или OCT2DEC, если у Вас установлена англоязычная версия MS Excel.

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

[/spoiler]

Перевод из восьмеричной системы в шестнадцатеричную

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

С помощью MS Excel такой перевод предельно прост, как, впрочем, и остальные варианты, достаточно воспользоваться функцией ВОСЬМ.В.ШЕСТН или OCT2HEX, если у Вас установлена англоязычная версия MS Excel.

Перевод из восьмеричной системы в шестнадцатеричную

[/spoiler]

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

[spoiler]Достаточно простой перевод. Разбиваем двоичное число на триады начиная справа, если в последней триаде недостает цифр, просто дописываем нули. Например, переведем число 1001001. Для удобства представим его как 001 001 001. После перевода триад, согласно таблице:

Двоичная система Восьмеричная система
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7

В восьмеричной системе получаем число: 111.

Перевод с помощью MS Excel следует воспользоваться функцией ДВ.В.ВОСЬМ или BIN2OCT, если работа ведется в англоязычной версии офиса.

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

[/spoiler]

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

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

Переведем число 001001001 в десятичную систему счисления. 1*2(в степени 6)+ 0*2(в степени 5)+ 0*2(в степени 4)+ 1*2(в степени 3)+ 0*2(в степени 2)+ 0*2(в степени 1)+ 1*2(в степени 0) = 64+0+0+8+0+0+1 = 73.

Перевод с помощью MS Excel следует воспользоваться функцией ДВ.В.ДЕС или BIN2DEC, если работа ведется в англоязычной версии офиса.

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

 [/spoiler]

Перевод из двоичной системы в шестнадцатеричную

[spoiler]Перевод из двоичной системы счисления в шестнадцатеричную несколько схож из переводом из двоичной в восьмеричную, однако, в этом случае число в двоичной системе счисления необходимо разбивать на тетрады, т.е. кодирование осуществляется четырьмя битами, а не тремя. И перевод производится согласно таблице:

Двоичная система Шестнадцатеричная система
0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

 

Переведем число 1001001, предварительно запишем его как: 0100 1001, что равняется 49.

Перевод с помощью MS Excel следует воспользоваться функцией ДВ.В.ШЕСТН или BIN2HEX, если работа ведется в англоязычной версии офиса.

Перевод из двоичной системы в шестнадцатеричную

[/spoiler]

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

[spoiler]Для осуществления данного перевода необходимо произвести операцию деления и пошагового перевода в соответствии с алгоритмом:

  1. Делится десятичное число на 8. Частное от деления остается для следующего шага, а остаток от деления записывается как бит числа в восьмеричной системе счисления (справа на лево).
  2. Если частное не равно 0, то повторяется первый шаг, однако в качестве делимого берется уже частное. Новый остаток записывается в число в восьмеричной системе счисления справа на лево.

Шаги выполнять до тех пор, пока частное не станет равно 0, а остаток от деления меньше 8.

Для примера возьмем число 157.

157/8 = частное 19, остаток 5

19/8 = частное 2, остаток 3

2/8=частное 0, остаток 2

Итого, записав справа на лево числа, получаем: 235.

Перевод с помощью MS Excel следует воспользоваться функцией ДЕС.В.ВОСЬМ или DEC2OCT, если работа ведется в англоязычной версии офиса.

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

[/spoiler]

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

[spoiler]Перевод осуществляется путем деления числа на 2 и перевода в соответствии с алгоритмом:

  1. Делится десятичное число на 2. Частное от деления остается для следующего шага, а остаток от деления записывается как бит числа в двоичной системе счисления (справа на лево).
  2. Если частное не равно 0, то повторяется первый шаг, однако в качестве делимого берется уже частное. Новый остаток записывается в двоичное число справа на лево.

Процедура выполняется до тех пор пока частное не станет равно 0, а остаток от деления – 1.

Возьмем число 157.

157/2 = частное 78, остаток 1

78/2 = частное 39, остаток 0

39/2 = частное 19, остаток 1

19/2 = частное 9, остаток 1

9/2= частное 4, остаток 1

4/2 =частное 2, остаток 0

2/2 = частное 1, остаток 0

1/2 = частное 0, остаток 1

Итог: 10011101

Для осуществления перевода с помощью MS Excel следует воспользоваться функцией ДЕС.В.ДВ или DEC2BIN, если работа ведется в англоязычной версии офиса.

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

[/spoiler]

Перевод из десятичной системы в шестнадцатеричную

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

  1. Делится десятичное число на 16. Частное от деления остается для следующего шага, а остаток от деления записывается как бит числа в двоичной системе счисления (справа на лево).
  2. Если частное не равно 0, то повторяется первый шаг, однако в качестве делимого берется уже частное. Новый остаток записывается в шестнадцатеричное число справа на лево.

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

Не лишнем будет привести таблицу соответствия цифр в десятичной и шестнадцатеричной системе счисления:

Десятичная система Шестнадцатеричная система
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F

 

Число 157 в шестнадцатеричной системе будет:

157/16 = частное 9 остаток 13

9/16 = частное 0 остаток 9

И ответ 9D (поскольку 13 соответствует D).

Для осуществления перевода с помощью MS Excel следует воспользоваться функцией ДЕС.В.ШЕСТН или DEC2HEX, для англоязычной версии офиса.

Перевод из десятичной системы в шестнадцатеричную

[/spoiler]

Перевод из шестнадцатеричной системы в восьмеричную

[spoiler]При ручном переводе чисел из шестнадцатеричной системы в восьмеричную число переводят в двоичную систему счисления, а затем уже в восьмеричную в соответствии с описанными здесь правилами.

Для осуществления перевода с помощью MS Excel следует воспользоваться функцией ШЕСТН.В.ВОСЬМ или HEX2OCT, для англоязычной версии офиса.

Перевод из шестнадцатеричной системы в восьмеричную

Внимание! В формуле числа в шестнадцатеричной системе счисления следует записывать в кавычках, т.к. в противном случае число будет восприниматься как ссылка на ячейку.[/spoiler]

Перевод из шестнадцатеричной системы в двоичную

[spoiler]В двоичную систему счисления перевод крайне прост и аналогичен переводу в восьмеричную систему счисления, однако, здесь числа переводятся справа налево и дополняются до 4 разрядов в соответствии с таблицей:

Двоичная система Шестнадцатеричная система
0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

Например, число 9D будет равно: 10011101.

Для осуществления перевода с помощью MS Excel следует воспользоваться функцией ШЕСТН.В.ДВ или HEX2BIN, для англоязычной версии офиса.

Перевод из шестнадцатеричной системы в двоичную

Внимание! В формуле числа в шестнадцатеричной системе счисления следует записывать в кавычках, т.к. в противном случае число будет восприниматься как ссылка на ячейку.[/spoiler]

Перевод из шестнадцатеричной системы в десятичную

[spoiler]Перевод производится по аналогии с переводами из восьмеричной и двоичной системы, однако, в данном случае для степеней будет основания будет число 16. Т.е. десятеричное число представляется в виде суммы произведения цифр шестнадцатеричного числа на 16 в степени разряда, начиная с 0. Таблица соответствия чисел десятичной и шестнадцатеричной систем представлена ниже.

Десятичная система Шестнадцатеричная система
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F

Перевод числа 9D равняется = 9*16 (в степени 1) + 13* 16 (в степени 0) = 9*16+13*1 = 157.

Для осуществления перевода с помощью MS Excel следует воспользоваться функцией ШЕСТН.В.ДЕС или HEX2DEC, для англоязычной версии офиса.

Перевод из шестнадцатеричной системы в десятичную

[/spoiler]