Калькулятор из 16 в 10 систему. Системы счисления. Перевод из одной системы в другую
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 цифр (т.к. ) из таблицы соответствия, дополнив при необходимости группу нулями вначале:
В данной статье я расскажу основы компьютерной техники - это двоичная система. Это самый низкий уровень, это числа по которым работает компьютер. И вы узнаете как переводить из одной системы
Таблица 1 - Представление чисел в различных системах
исчисление (начало)
Системы счисления |
||||
Десятичная |
Двоичная |
Восьмеричная |
Шестнадцатеричная |
двоично-десятичная |
Для того чтобы перевести из десятичной в двоичную, можно использовать два варианта.
1) К примеру число 37 нужно перевести из десятичной системы в двоичную, то нужно его делить на два, а затем проверять остаток от деления. Если остаток нечетный, то в низу мы подписывает единицу и следующий цикл деления идет через четное число, если останок от деления четный, то пишим ноль. На конце обязательно должна получиться 1. А теперь полученный результат мы преобразуем в двоичный, причем число идет справа на лево.
Пошагово: 37 - это число нечетное, значит 1 , затем 36/2 = 18. Число четное, значит 0 . 18/2 = 9 число нечетное, значит 1 , затем 8/2 = 4. Число четное, зачит 0 . 4/2 = 2, число четное значит 0 , 2/2 = 1 .
Итак, мы получили число. Не забудьте счет идет справа налево: 100101 - вот мы получили число в двоичной системе. А вообще это записывается в виде деления в столбик, как вы видите ниже на рисунке:
2) Но есть второй способ. Он мне больше нравиться. Перевод из одной системы в другую идет в следующем виде:
где ai - i-я цифра числа;
k - количество цифр в дробной части числа;
m - количество цифр в целой части числа;
N - основание системы исчисления.
Основание системы счисления N показывает, во сколько раз "вес" i-го разряда больше "веса" (i-1) разряда. Целая часть числа отделяется от дробной части точкой (запятой).
Целая часть числа AN1, с основой N1, переводится в систему счисления с основанием N2 путем последовательного деления целой части числа AN1 на записанную в виде числа с основанием N1 основу N2, до получения остатка.Полученная доля снова делится на основание N2, и этот процесс необходимо повторять, пока частица не станет меньше делителя. Полученные остатки от деления и последняя часть записываются в порядке, обратном полученном при делении. Сформированное число и будет целым числом с основанием N2.
Дробная часть числа AN1, с основой N1, переводится в систему счисления с основанием N2 путем последовательного умножения дробной части числа AN1 на основание N2, записанную в виде числа с основанием N1. При каждом умножении целая часть произведения берется в виде очередной цифры соответствующего разряда, а дробная часть оставшейся принимается за новую умножений. Число умножений определяет разрядность полученного результата, представляющий дробную часть числа AN1 в системе счисления N2. Дробная часть числа при переводе часто представляется неточно.
Давайте это сделаем на примере:
Перевод с десятичной в двоичную
37 в десятичной нужно перевести в двоичную. Давайте поработаем со степенями:
2 0 = 1
2 1 = 2
2 2 = 4
2 3 = 8
2 4 = 16
2 5 = 32
2 6 = 64
2 7 = 128
2 8 = 256
2 9 = 512
2 10 = 1024 и так далее... до бесконечности
Значит: 37 - 32 = 5. 5 - 4 = 1. Ответ следующий в двоичной системе: 100101.
Давайте переведем число 658 из десятичной в двоичную:
658-512=146
146-128=18
18-16=2. В двоичной системе число будет иметь вид: 1010010010.
Перевод с десятичной в восмеричную
Если вам надо перевести с десятичной в восьмеричную, необходимо сначала перевести в двоичную, а затем с двоичной перевести в восьмеричную. То есть так проще, хотя можно и сразу перевести. По алгоритму подобному как в переводе в двоичную, см. выше.
Перевод с десятичной в шестнадцатеричной
Если вам надо перевести с десятичной в шестнадцатеричную, необходимо сначала перевести в двоичную, а затем с двоичной перевести в шестнадцатеричную. То есть так проще, хотя можно и сразу перевести. По алгоритму подобному как в переводе в двоичную, см. выше.
Перевод с двоичной в восмеричную
Чтобы перевести число из двоичной в восьмиричную систему нужно двоичное разбить по три числа.
К примеру полученное число 1010010010 разбивает по три числа, причем разбивка идет справа налево: 1 010 010 010 = 1222. Смотрите таблицу в самом начале.
Перевод с двоичной в шестнадцатеричную
Чтобы перевести число из двоичной в шестнадцатеричное, надо разбить на тетрады (по четыре)
10 1001 0010 = 292
Привожу несколько примеров, для того, чтобы вы просмотрели:
Перевод осуществляется из двоичной в восьмиричную, затем в шестнадцатеричную, а затем из двоичной десятичную
(2) = 11101110
(8) = 11 101 110 = 276
(16) = 1110 1110 = EE
(10) = 1*128+ 1*64+ 1*32+ 0 +1*8 + 1*4 + 1*2+ 0= 238
3) (8) = 657
Перевод осуществляется из шестнадцатеричной в двоичную, затем в восьмиричную, а затем из двоичной десятичную
(16) = 6E8
(2) = 110 1110 1000
(8) = 11 011 101 000 = 2250
(10) = 1*1024+1*512+ 0 +1*128+ 1*64+ 1*32+ 8 = 1768