Большинство людей на нашей планете при счете пользуются десятичной системой счисления, а вот в компьютерах используется двоичная. Некоторые племена на заре развития человечества использовали двенадцатеричную и шестидесятеричную. Именно от них нам остались 12 часов на циферблате и 60 минут в часу.
Порою необходимо перевести число из одной системы в другую. В этой статье рассмотрим конкретнее, как переводить в десятичную систему из некоторых других популярных систем.
Прежде всего нужно понять, что такое система счисления и её основание. Система счисления - способ представления чисел в виде комбинации тех или иных цифр. Основание системы - количество цифр, в ней использующихся. Например, в десятичной системе с основанием 10 всего 10 цифр - от 0 до 9. В шестнадцатеричной, соответственно, 16 цифр, для обозначения которых используются арабские цифры 0 - 9 и латинские буквы A - F вместо цифр 10 - 15. Например, 2F7BE 16 - число шестнадцатеричной системы. При такой записи нижним индексом обозначается основание системы счисления. Ключевым различием между системами с разными основаниями является "ценность" числа 10. В шестнадцатеричной системе 10 16 будет равно 16 10 , а в двоичной 10 2 равно всего лишь двум. 100 16 будет вычисляться как
100 16 = 10 16 * 10 16 = 16 10 * 16 10 = 256 10 .
Следует также различать понятия "цифра" и "число". Цифра обозначается одним символом, а число - может и несколькими. Например, число 9 10 в двоичной системе будет выглядеть как 1001 2 , а цифра 9 в двоичной системе не существует как таковая.
Чтобы перевести в десятичную систему число, нужно научиться применять несложный алгоритм.
2*16 4 +15*16 3 + 7*16 2 + 11*16 1 + 14*16 0 = 194494 10 .
Рассмотрим на примерах, как самые популярные - шестнадцатеричную, восьмеричную и двоичную системы перевести в десятичную.
Разумеется, считать каждый раз вручную неудобно, нерационально, да и неохота. Существует множество калькуляторов, умеющих переводить числа из системы в систему. К примеру, стандартный калькулятор Windows в режиме "Программист" (клавиши Alt+3 или меню "Вид") может работать с системами оснований 2, 8, 10 и 16.
Впервые позиционная система счисления возникла в древнем Вавилоне. В Индии система работает в виде
позиционной десятичной нумерации с использованием нуля, у индусов данную систему чисел
позаимствовала арабская нация, у них, в свою очередь, взяли европейцы. В Европе эту систему стали
называть арабской.
Позиционная система — значение всех цифр зависит от позиции (разряда) данной цифры в числе.
Примеры, стандартная 10-я система счисления - это позиционная система. Допустим дано число 453.
Цифра 4 обозначает сотни и соответствует числу 400, 5 — кол-во десятков и соответствует значению 50,
а 3 — единицы и значению 3. Легко заметить, что с увеличением разряда увеличивается значение.
Таким образом, заданное число запишем в виде суммы 400+50+3=453.
Двоичная система счисления.
Здесь только 2 цифры - это 0 и 1. Основание двоичной системы - число 2.
Цифра, которая находится с самого края справа, указывает количество единиц, вторая цифра -
Во всех разрядах возможна лишь одна цифра — или нуль, или единица.
С помощью двоичной системы счисления возможно закодировать всякое натуральное число, представив
это число в виде последовательности нулей и единиц.
Пример: 10112 = 1*2 3 + 0*2*2+1*2 1 +1*2 0 =1*8 + 1*2+1=1110
Двоичную систему счисления, как и десятичную систему счисления , зачастую используют в вычислительной
технике. Текст и числа компьютер хранит в своей памяти в двоичном коде и программным способом преобразует
в изображение на экране.
Сложение, вычитание и умножение двоичных чисел.
Таблица сложения в двоичной системе счисления:
10 (перенос в старший разряд) |
Таблица вычитания в двоичной системе счисления:
(заём из старшего разряда) 1 |
Пример сложения «столбиком» (14 10 + 5 10 = 19 10 или 1110 2 + 101 2 = 10011 2):
+ | 1 | 1 | 1 | 0 | |
1 | 0 | 1 | |||
1 | 0 | 0 | 1 | 1 |
Таблица умножения в двоичной системе счисления:
Пример умножения «столбиком» (14 10 * 5 10 = 70 10 или 1110 2 * 101 2 = 1000110 2):
* | 1 | 1 | 1 | 0 | |||
1 | 0 | 1 | |||||
+ | 1 | 1 | 1 | 0 | |||
1 | 1 | 1 | 0 | ||||
= | 1 | 0 | 0 | 0 | 1 | 1 | 0 |
Преобразование чисел в двоичной системе счисления.
Для преобразования из двоичной системы в десятичную пользуются следующей таблицей степеней
основания 2:
Начиная с цифры один каждая цифра умножается на 2. Точка, стоящая после 1, называют двоичной точкой .
Преобразование двоичных чисел в десятичные.
Пусть, есть двоичное число 110001 2 . Для перевода в десятичное записываем его в виде суммы по
разрядам следующим образом:
1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49
Немного по другому:
1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49
Также хорошо записывать расчет как таблицу:
Двигаемся справа налево. Под всеми двоичными единицами записываем её эквивалент строчкой ниже.
Преобразование дробных двоичных чисел в десятичные.
Задание: перевести число 1011010, 101 2 в десятичную систему.
Записываем заданное число в таком виде:
1*2 6 +0*2 5 +1*2 4 +1*2 3 +0 *2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 -1 + 0 * 2 -2 + 1 * 2 -3 = 90,625
Другой вариант записи:
1*64+0*32+1*16+1*8+0*4+1*2+0*1+1*0,5+0*0,25+1*0,125 = 90,625
Либо в виде таблицы:
0.25 |
0.125 |
||||||||
0.125 |
Преобразование десятичных чисел в двоичные.
Пусть, необходимо перевести число 19 в двоичное. Можем сдеать это таким образом:
19 /2 = 9 с остатком 1
9 /2 = 4 c остатком 1
4 /2 = 2 без остатка 0
2 /2 = 1 без остатка 0
1 /2 = 0 с остатком 1
То есть, каждое частное делится на 2 и записывается остаток в конец двоичной записи. Деление
продолжается до того момента, когда в частном не будет нуля. Итог пишем справа налево. Т.е. нижняя
цифра (1) будет крайней левой и так далее. Итак, у нас получилось число 19 в двоичной записи: 10011.
Преобразование дробных десятичных чисел в двоичные.
Когда в заданном числе присутствует целая часть, то ее преобразуют отдельно от дробной. Перевод
дробного числа из десятичной системы счисления в двоичную происходит следующим образом:
разряда числа в двоичной системе счисления;
достигнута требуемая точность вычислений. В противном случае вычисления продолжаются над
дробной частью произведения.
Пример : Нужно перевести дробное десятичное число 206,116 в дробное двоичное число.
Переведя целую часть, получаем 206 10 =11001110 2 . Дробная часть 0,116 умножается на основание 2,
заносим целые части произведения в разряды после запятой:
0,116 . 2 = 0,232
0,232 . 2 = 0,464
0,464 . 2 = 0,928
0,928 . 2 = 1,856
0,856 . 2 = 1,712
0,712 . 2 = 1,424
0,424 . 2 = 0,848
0,848 . 2 = 1,696
0,696 . 2 = 1,392
0,392 . 2 = 0,784
Результат: 206,116 10 ≈ 11001110,0001110110 2
Алгоритм перевода чисел из одной системы счисления в другую.
1. Из десятичной системы счисления:
2. Из двоичной системы счисления:
соответствующую степень разряда;
1. Порядковый счет в различных системах счисления.
В современной жизни мы используем позиционные системы счисления, то есть системы, в которых число, обозначаемое цифрой, зависит от положения цифры в записи числа. Поэтому в дальнейшем мы будем говорить только о них, опуская термин «позиционные».
Для того чтобы научиться переводить числа из одной системы в другую, поймем, как происходит последовательная запись чисел на примере десятичной системы.
Поскольку у нас десятичная система счисления, мы имеем 10 символов (цифр) для построения чисел. Начинаем порядковый счет: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Цифры закончились. Мы увеличиваем разрядность числа и обнуляем младший разряд: 10. Затем опять увеличиваем младший разряд, пока не закончатся все цифры: 11, 12, 13, 14, 15, 16, 17, 18, 19. Увеличиваем старший разряд на 1 и обнуляем младший: 20. Когда мы используем все цифры для обоих разрядов (получим число 99), опять увеличиваем разрядность числа и обнуляем имеющиеся разряды: 100. И так далее.
Попробуем сделать то же самое в 2-ной, 3-ной и 5-ной системах (введем обозначение для 2-ной системы, для 3-ной и т.д.):
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 10 | 3 |
4 | 100 | 11 | 4 |
5 | 101 | 12 | 10 |
6 | 110 | 20 | 11 |
7 | 111 | 21 | 12 |
8 | 1000 | 22 | 13 |
9 | 1001 | 100 | 14 |
10 | 1010 | 101 | 20 |
11 | 1011 | 102 | 21 |
12 | 1100 | 110 | 22 |
13 | 1101 | 111 | 23 |
14 | 1110 | 112 | 24 |
15 | 1111 | 120 | 30 |
Если система счисления имеет основание больше 10, то нам придется вводить дополнительные символы, принято вводить буквы латинского алфавита. Например, для 12-ричной системы кроме десяти цифр нам понадобятся две буквы ( и ):
0 | 0 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
10 | |
11 | |
12 | 10 |
13 | 11 |
14 | 12 |
15 | 13 |
2.Перевод из десятичной системы счисления в любую другую.
Чтобы перевести целое положительное десятичное число в систему счисления с другим основанием, нужно это число разделить на основание. Полученное частное снова разделить на основание, и дальше до тех пор, пока частное не окажется меньше основания. В результате записать в одну строку последнее частное и все остатки, начиная с последнего.
Пример 1. Переведем десятичное число 46 в двоичную систему счисления.
Пример 2. Переведем десятичное число 672 в восьмеричную систему счисления.
Пример 3. Переведем десятичное число 934 в шестнадцатеричную систему счисления.
3. Перевод из любой системы счисления в десятичную.
Для того, чтобы научиться переводить числа из любой другой системы в десятичную, проанализируем привычную нам запись десятичного числа.
Например, десятичное число 325 – это 5 единиц, 2 десятка и 3 сотни, т.е.
Точно так же обстоит дело и в других системах счисления, только умножать будем не на 10, 100 и пр., а на степени основания системы счисления. Для примера возьмем число 1201 в троичной системе счисления. Пронумеруем разряды справа налево начиная с нуля и представим наше число как сумму произведений цифры на тройку в степени разряда числа:
Это и есть десятичная запись нашего числа, т.е.
Пример 4. Переведем в десятичную систему счисления восьмеричное число 511.
Пример 5. Переведем в десятичную систему счисления шестнадцатеричное число 1151.
4. Перевод из двоичной системы в систему с основанием «степень двойки» (4, 8, 16 и т.д.).
Для преобразования двоичного числа в число с основанием «степень двойки» необходимо двоичную последовательность разбить на группы по количеству цифр равному степени справа налево и каждую группу заменить соответствующей цифрой новой системы счисления.
Например, Переведем двоичное 1100001111010110 число в восьмеричную систему. Для этого разобьем его на группы по 3 символа начиная справа (т.к. ), а затем воспользуемся таблицей соответствия и заменим каждую группу на новую цифру:
Таблицу соответствия мы научились строить в п.1.
0 | 0 |
1 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
Т.е.
Пример 6. Переведем двоичное 1100001111010110 число в шестнадцатеричную систему.
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 |
5.Перевод из системы с основанием «степень двойки» (4, 8, 16 и т.д.) в двоичную.
Этот перевод аналогичен предыдущему, выполненному в обратную сторону: каждую цифру мы заменяем группой цифр в двоичной системе из таблицы соответствия.
Пример 7. Переведем шестнадцатеричное число С3A6 в двоичную систему счисления.
Для этого каждую цифру числа заменим группой из 4 цифр (т.к. ) из таблицы соответствия, дополнив при необходимости группу нулями вначале: