Конвертер из одной системы счисления в другую. Перевод чисел в двоичную, шестнадцатеричную, десятичную, восьмеричную системы счисления
В одном из наших материалов мы рассмотрели определение . Оно имеет самый короткий алфавит. Только две цифры: 0 и 1. Примеры алфавитов позиционных систем счисления приведены в таблице.
Позиционные системы счисления
Название системы |
Основание |
Алфавит |
Двоичная |
||
Троичная |
||
Четверичная |
||
Пятеричная |
||
Восьмеричная |
||
Десятичная |
0,1,2,3,4,5,6,7,8,9 |
|
Двенадцатеричная |
0,1,2,3,4,5,6,7,8,9,А,В |
|
Шестнадцатеричная |
0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F |
|
Тридцатишестиричная |
0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F,G, H,I,J,K,L,M,N,O,P,R,S,T,U,V,X,Y,Z |
Для перевода небольшого числа из десятичного в двоичное, и обратно, лучше пользоваться следующей таблицей.
Таблица перевода десятичных чисел от 0 до 20 в двоичную систему счисления.
десятичное число |
двоичное число |
десятичное число |
двоичное число |
Однако таблица получится огромной, если записать туда все числа. Искать среди них нужное число будет уже сложнее. Гораздо проще запомнить несколько алгоритмов перевода чисел из одной позиционной системы счисления в другую.
Как сделать перевод из одной системы счисления в другую? В информатике существует несколько простых способов перевода десятичных чисел в двоичные числа. Рассмотрим два из них.
Способ №1.
Допустим, требуется перевести число 637 десятичной системы в двоичную систему.
Делается это следующим образом: отыскивается максимальная степень двойки, чтобы два в этой степени было меньше или равно исходному числу.
В нашем случае это 9, т.к. 2 9 =512 , а 2 10 =1024 , что больше нашего начального числа. Таким образом, мы получили число разрядов результата. Оно равно 9+1=10. Значит, результат будет иметь вид 1ххххххххх, где вместо х может стоять 1 или 0.
Найдем вторую цифру результата. Возведем двойку в степень 9 и вычтем из исходного числа: 637-2 9 =125. Затем сравниваем с числом 2 8 =256 . Так как 125 меньше 256, то девятый разряд будет 0, т.е. результат уже примет вид 10хххххххх.
2 7 =128 > 125 , значит и восьмой разряд будет нулём.
2 6 =64 , то седьмой разряд равен 1. 125-64=61 Таким образом, мы получили четыре старших разряда и число примет вид 10011ххххх.
2 5 =32 и видим, что 32 < 61, значит шестой разряд равен 1 (результат 100111хххх), остаток 61-32=29.
2 4 =16 < 29 - пятый разряд 1 => 1001111ххх. Остаток 29-16=13.
2 3 =8 < 13 => 10011111хх. 13-8=5
2 2 =4 < 5 => 10011111хх, остаток 5-4=1.
2 1 =2 > 1 => 100111110х, остаток 2-1=1.
2 0 =1 => 1001111101.
Это и будет конечный результат.
Способ №2.
Правило перевода целых десятичных чисел в двоичную систему счисления, гласит:
- Разделим a n−1 a n−2 ...a 1 a 0 =a n−1 ⋅2 n−1 +a n−2 ⋅2 n−2 +...+a 0 ⋅2 0 на 2.
- Частное будет равно an−1 ⋅2n−2+...+a1 , а остаток будет равен
- Полученное частное опять разделим на 2, остаток от деления будет равен a1.
- Если продолжить этот процесс деления, то на n-м шаге получим набор цифр: a 0 ,a 1 ,a 2 ,...,a n−1 , которые входят в двоичное представление исходного числа и совпадают с остатками при его последовательном делении на 2.
- Таким образом, для перевода целого десятичного числа в двоичную систему счисления нужно последовательно выполнять деление данного числа и получаемых целых частных на 2 до тех пор, пока не получим частное, которое будет равно нулю.
Исходное число в двоичной системе счисления составляется последовательной записью полученных остатков. Записывать его начинаем с последнего найденного.
Переведём десятичное число 11 в двоичную систему счисления. Рассмотренную выше последовательность действий (алгоритм перевода) можно изобразить так:
Получили 11 10 =1011 2 .
Пример:
Если десятичное число достаточно большое, то более удобен следующий способ записи рассмотренного выше алгоритма:
363 10 =101101011 2
В повседневной жизни мы привыкли пользоваться десятичной системой счисления, знакомой нам еще со школьной скамьи. Однако помимо нее, существует и множество других систем. Как записывать цифры не в десятичной, а, например, в ?
Как перевести в двоичную любое число из десятичной системы
Необходимость перевести десятичное число в двоичный вид выглядит пугающей только на первый взгляд. На самом деле это довольно просто - необязательно искать даже онлайн-сервисы для совершения операции.
- Для образца возьмем число 156, записанное в привычной нам десятичной форме, и попробуем перевести его в двоичный вид.
- Алгоритм будет выглядеть следующим образом - начальное число понадобится разделить на два, затем еще раз на 2, и еще раз на 2 до тех пор, пока в ответе не останется единица.
- При совершении деления для перевода в двоичный код имеют значения не целые числа - а остатки. Если при делении в ответе получилось четное число, то остаток записывается в виде цифры 0, если нечетное - то в виде цифры 1.
- На практике можно легко убедиться, что начальный двоичный ряд остатков для числа 156 будет выглядеть следующим образом - 00111001. Для того, чтобы превратить его в полноценный двоичный код, этот ряд понадобится записать в обратном порядке - то есть, 10011100.
Двоичное число 10011100, полученное в результате нехитрой операции, и будет двоичным выражением числа 156.
Ещё один пример, но уже на картинке
Перевод двоичного числа в десятичную систему
Обратный перевод - из двоичной в десятичную систему - может показаться чуть более сложным. Но если использовать простой метод удвоения, то и с этой задачей получится справиться за пару минут. Для примера возьмем все то же число, 156, но в двоичном виде - 10011100.
- Метод удвоения основан на том, что при каждом шаге вычисления берут так называемый предыдущий итог и прибавляют к нему следующую цифру.
- Поскольку на первом шаге предыдущего итога еще не существует, здесь всегда берут 0, удваивают его и прибавляют к нему первую цифру выражения. В нашем примере это будет 0 * 2 + 1 = 1.
- На втором шаге мы уже располагаем предыдущим итогом - он равен 1. Это цифру нужно удвоить, а потом прибавить к ней следующую по порядку, то есть - 1 * 2 + 0 = 2.
- На третьем, четвертом и последующем шагах все так же берутся предыдущие итоги и складываются с последующей цифрой в выражении.
Когда в двоичной записи останется только одна последняя цифра, и прибавлять больше будет нечего, операция будет завершена. При помощи нехитрой проверки можно убедиться, что в ответе получится нужное десятичное число 156.
С двоичной системой счисления мы сталкиваемся при изучении компьютерных дисциплин. Ведь именно на базе этой системы построена работа процессора и некоторые виды шифрования. Существуют специальные алгоритмы для записи десятичного числа в двоичной системе и наоборот. Если знать принцип построения системы, оперировать в ней будет несложно.
Принцип построения системы из нулей и единиц
Двоичная система счисления построена с использованием двух цифр: ноль и один. Почему именно эти цифры? Это связано с принципом построения сигналов, которые используются в работе процессора. На самом низком уровне сигнал принимает только два значения: «ложь» и «истина». Поэтому было принято отсутствие сигнала, «ложь», обозначать нулем, а наличие его, «истину», единицей. Такое сочетание легко реализовать технически. Числа в двоичной системе формируются так же, как и в десятичной. Когда разряд достигает своей верхней границы, он обнуляется, и добавляется новый разряд. По такому принципу осуществляется переход через десяток в десятичной системе. Таким образом, числа состоят из сочетаний нулей и единиц, и это сочетание называется "двоичная система счисления".
Запись числа в системе |
|||
В десятичной | В двоичной | В десятичной | В двоичной |
Как двоичное число записать в виде десятичного?
Существуют онлайн-сервисы, которые осуществляют перевод числа в двоичную систему и наоборот, но лучше уметь делать это самостоятельно. Двоичная система при переводе обозначается нижним индексом 2, например, 101 2 . Каждое число в любой системе можно представить в виде суммы чисел, например: 1428 = 1000 + 400 + 20 + 8 - в десятичной системе. Так же представляется число в двоичной. Возьмем произвольное число 101 и рассмотрим его. В нем 3 разряда, поэтому раскладываем число по порядку таким способом: 101 2 =1×2 2 +0×2 1 +1×2 0 =4+1=5 10, где индекс 10 обозначает десятичную систему.
Как записать простое число в двоичной системе?
Очень легко осуществить перевод в двоичную систему счисления с помощью деления числа на два. Делить необходимо до тех пор, пока это будет возможно выполнить нацело. Например, возьмем число 871. Начинаем делить, обязательно записывая остаток:
871:2=435 (остаток 1)
435:2=217 (остаток 1)
217:2=108 (остаток 1)
Ответ записывается по полученным остаткам по направлению от конца к началу: 871 10 =101100111 2 . Проверить правильность вычислений можно с помощью обратного перевода, описанного ранее.
Для чего нужно знать правила перевода?
Двоичная система счисления применяется в большинстве дисциплин, связанных с микропроцессорной электроникой, кодированием, передачей и шифрованием данных, в различных направлениях программирования. Знания основ перевода из любой системы в двоичную помогут программисту разрабатывать различные микросхемы и осуществлять управление работой процессора и других подобных систем программным способом. Двоичная система счисления также необходима для реализации способов передачи пакетов данных по зашифрованным каналам и создания на их основе программных проектов типа «Клиент-сервер». В школьном курсе информатики основы перевода в двоичную систему и наоборот являются базовым материалом для изучения программирования в будущем и создания простейших программ.
Способы перевода чисел из одной системы счисления в другую.
Перевод чисел из одной позиционной системы счисления в другую: перевод целых чисел.
Чтобы перевести целое число из одной системы счисления с основанием 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) в шестнадцатеричной системе счисления.
Калькулятор позволяет переводить целые и дробные числа из одной системы счисления в другую. Основание системы счисления не может быть меньше 2 и больше 36 (10 цифр и 26 латинских букв всё-таки). Длина чисел не должна превышать 30 символов. Для ввода дробных чисел используйте символ. или, . Чтобы перевести число из одной системы в другую, введите исходное число в первое поле, основание исходной системы счисления во второе и основание системы счисления, в которую нужно перевести число, в третье поле, после чего нажмите кнопку "Получить запись".
Исходное число записано в 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ой системе счисления .
Хочу получить запись числа в 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 -ой системе счисления .
Получить запись
Выполнено переводов: 1363710
Системы счисления
Системы счисления делятся на два типа: позиционные и не позиционные . Мы пользуемся арабской системой, она является позиционной, а есть ещё римская − она как раз не позиционная. В позиционных системах положение цифры в числе однозначно определяет значение этого числа. Это легко понять, рассмотрев на примере какого-нибудь числа.
Пример 1 . Возьмём число 5921 в десятичной системе счисления. Пронумеруем число справа налево начиная с нуля:
Число 5921 можно записать в следующем виде: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Число 10 является характеристикой, определяющей систему счисления. В качестве степеней взяты значения позиции данного числа.
Пример 2 . Рассмотрим вещественное десятичное число 1234.567. Пронумеруем его начиная с нулевой позиции числа от десятичной точки влево и вправо:
Число 1234.567 можно записать в следующем виде: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1·10 3 +2·10 2 +3·10 1 +4·10 0 +5·10 -1 +6·10 -2 +7·10 -3 .
Перевод чисел из одной системы счисления в другую
Наиболее простым способом перевода числа с одной системы счисления в другую, является перевод числа сначала в десятичную систему счисления, а затем, полученного результата в требуемую систему счисления.
Перевод чисел из любой системы счисления в десятичную систему счисления
Для перевода числа из любой системы счисления в десятичную достаточно пронумеровать его разряды, начиная с нулевого (разряд слева от десятичной точки) аналогично примерам 1 или 2. Найдём сумму произведений цифр числа на основание системы счисления в степени позиции этой цифры:
1.
Перевести число 1001101.1101 2 в десятичную систему счисления.
Решение:
10011.1101 2 = 1·2 4 +0·2 3 +0·2 2 +1·2 1 +1·2 0 +1·2 -1 +1·2 -2 +0·2 -3 +1·2 -4 = 16+2+1+0.5+0.25+0.0625 = 19.8125 10
Ответ:
10011.1101 2 = 19.8125 10
2.
Перевести число E8F.2D 16 в десятичную систему счисления.
Решение:
E8F.2D 16 = 14·16 2 +8·16 1 +15·16 0 +2·16 -1 +13·16 -2 = 3584+128+15+0.125+0.05078125 = 3727.17578125 10
Ответ:
E8F.2D 16 = 3727.17578125 10
Перевод чисел из десятичной системы счисления в другую систему счисления
Для перевода чисел из десятичной системы счисления в другую систему счисления целую и дробную части числа нужно переводить отдельно.
Перевод целой части числа из десятичной системы счисления в другую систему счисления
Целая часть переводится из десятичной системы счисления в другую систему счисления с помощью последовательного деления целой части числа на основание системы счисления до получения целого остатка, меньшего основания системы счисления. Результатом перевода будет являться запись из остатков, начиная с последнего.
3.
Перевести число 273 10 в восьмиричную систему счисления.
Решение:
273 / 8 = 34 и остаток 1, 34 / 8 = 4 и остаток 2, 4 меньше 8, поэтому вычисления завершены. Запись из остатков будет иметь следующий вид: 421
Проверка
: 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273 , результат совпал. Значит перевод выполнен правильно.
Ответ:
273 10 = 421 8
Рассмотрим перевод правильных десятичных дробей в различные системы счисления.
Перевод дробной части числа из десятичной системы счисления в другую систему счисления
Напомним, правильной десятичной дробью называется вещественное число с нулевой целой частью . Чтобы перевести такое число в систему счисления с основанием N нужно последовательно умножать число на N до тех пор, пока дробная часть не обнулится или же не будет получено требуемое количество разрядов. Если при умножении получается число с целой частью, отличное от нуля, то целая часть дальше не учитывается, так как последовательно заносится в результат.
4.
Перевести число 0.125 10 в двоичную систему счисления.
Решение:
0.125·2 = 0.25 (0 - целая часть, которая станет первой цифрой результата), 0.25·2 = 0.5 (0 - вторая цифра результата), 0.5·2 = 1.0 (1 - третья цифра результата, а так как дробная часть равна нулю, то перевод завершён).
Ответ:
0.125 10 = 0.001 2