Осуществить перевод чисел из разных систем исчисления можно различными способами. С помощью математических формул, с помощью онлайн сервисов. Запоминать возможности преобразования с помощью математических формул имеет смысл, если такого рода переводы необходимо выполнять ежедневно. У онлайн сервисов есть один недостаток в виде постоянного доступа к Интернет. Конечно представить место без доступа к Интернет уже сейчас довольно сложно, однако, бывает и такое.
Как бы там ни было, в рамках данной статьи рассмотрим способ перевода из разного рода систем счисления с помощью табличного процессора 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]Для осуществления данного перевода необходимо произвести операцию деления и пошагового перевода в соответствии с алгоритмом:
- Делится десятичное число на 8. Частное от деления остается для следующего шага, а остаток от деления записывается как бит числа в восьмеричной системе счисления (справа на лево).
- Если частное не равно 0, то повторяется первый шаг, однако в качестве делимого берется уже частное. Новый остаток записывается в число в восьмеричной системе счисления справа на лево.
Шаги выполнять до тех пор, пока частное не станет равно 0, а остаток от деления меньше 8.
Для примера возьмем число 157.
157/8 = частное 19, остаток 5
19/8 = частное 2, остаток 3
2/8=частное 0, остаток 2
Итого, записав справа на лево числа, получаем: 235.
Перевод с помощью MS Excel следует воспользоваться функцией ДЕС.В.ВОСЬМ или DEC2OCT, если работа ведется в англоязычной версии офиса.
[/spoiler]
Перевод из десятичной системы в двоичную
[spoiler]Перевод осуществляется путем деления числа на 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, итак:
- Делится десятичное число на 16. Частное от деления остается для следующего шага, а остаток от деления записывается как бит числа в двоичной системе счисления (справа на лево).
- Если частное не равно 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]