Калькулятор позволяет переводить целые и дробные числа из одной системы счисления в другую. Основание системы счисления не может быть меньше 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 -ой системе счисления .
Получить запись
Выполнено переводов: 1237177
Системы счисления делятся на два типа: позиционные и не позиционные . Мы пользуемся арабской системой, она является позиционной, а есть ещё римская − она как раз не позиционная. В позиционных системах положение цифры в числе однозначно определяет значение этого числа. Это легко понять, рассмотрев на примере какого-нибудь числа.
Пример 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
Чтобы быстро переводить числа из десятичной системы счисления в двоичную, нужно хорошо знать числа "2 в степени". Например, 2 10 =1024 и т.д. Это позволит решать некоторые примеры на перевод буквально за секунды. Одной из таких задач является задача A1 из демо ЕГЭ 2012 года . Можно, конечно, долго и нудно делить число на "2". Но лучше решать по-другому, экономя драгоценное время на экзамене.
Метод очень простой. Суть его такая: если число, которое нужно перевести из десятичной системы, равно числу "2 в степени", то это число в двоичной системе содержит количество нулей, равное степени. Впереди этих нулей добавляем "1".
Аналогично и для других чисел "2 в степени".
Если число, которое нужно перевести, меньше числа "2 в степени" на 1, то в двоичной системе это число состоит только из единиц, количество которых равно степени.
На рисунке квадратиками обозначено двоичное представление числа, а слева розовым цветом-десятичное.
Аналогичен перевод и для других чисел "2 в степени-1".
Понятно, что перевод чисел от 0 до 8 можно сделать быстро или делением, или просто знать наизусть их представление в двоичной системе. Я привела эти примеры, чтобы Вы поняли принцип данного метода и использовали его для перевода более "внушительных чисел", например, для перевода чисел 127,128, 255, 256, 511, 512 и т.д.
Можно встретить такие задачи, когда нужно перевести число, не равное числу "2 в степени", но близкое к нему. Оно может быть больше или меньше числа "2 в степени". Разница между переводимым числом и числом "2 в степени" должна быть небольшая. Например, до 3. Представление чисел от 0 до 3 в двоичной системе надо просто знать без перевода.
Если число
больше
, то решаем так:
Переводим сначала число "2 в степени" в двоичную систему. А потом прибавляем к нему разницу между числом "2 в степени" и переводимым числом.
Например, переведем 19 из десятичной системы. Оно больше числа "2 в степени" на 3.
16=2 4 . 16 10 =10000 2 .
3 10 =11 2 .
19 10 =10000 2 +11 2 =10011 2 .
Если число меньше числа "2 в степени", то удобнее пользоваться числом "2 в степени-1". Решаем так:
Переводим сначала число "2 в степени-1" в двоичную систему. А потом вычитаем из него разницу между числом "2 в степени-1" и переводимым числом.
Например, переведем 29 из десятичной системы. Оно больше числа "2 в степени-1" на 2. 29=31-2.
31 10 =11111 2 .
2 10 =10 2 .
29 10 =11111 2 -10 2 =11101 2
Если разница между переводимым числом и числом "2 в степени" больше трех , то можно разбить число на составляющие, перевести каждую часть в двоичную систему и сложить.
Например, перевести число 528 из десятичной системы. 528=512+16. Переводим отдельно 512 и 16.
512=2 9
. 512 10 =1000000000
2 .
16=2 4
. 16 10 =10000
2 .
Теперь сложим столбиком:
Привет, посетитель сайта сайт! Продолжаем изучать и протокол сетевого уровня IP, а если быть более точным, то его версию IPv4. На первый взгляд тема двоичных чисел и двоичной системы счисления не имеет отношения к протоколу IP, но если вспомнить, что компьютеры работают с нулями и единицами, то оказывается, что двоичная система и ее понимание — это основа основ, нам нужно научиться переводить числа из двоичной системы счисления в десятичную и наоборот: из десятичной в двоичную . Это нам поможет лучше понять протокол IP, а также принцип работы масок сети переменной длины. Давайте приступать!
Если тема компьютерных сетей вам интересна, то можете ознакомиться с другими записями курса.
Прежде чем мы начнем, стоит вообще объяснить зачем нужна эта тема сетевому инженеру. Хотя вы могли убедиться в ее необходимости, когда мы говорили , но, вы можете сказать, что есть IP-калькуляторы, которые существенно облегчают задачу по распределению IP-адресов, вычислению нужных масок подсетей/сетей и определению номера сети и номера узла в IP-адресе. Так-то оно так, но IP-калькулятор не всегда под рукой, это причина номер раз. Причина номер два заключается в том, что на экзаменах Cisco вам не дадут IP-калькулятор и все преобразования IP-адресов из десятичной системы счисления в двоичную вам придется делать на листе бумаги , а вопросов, где это требуется на экзамене/экзаменах по получению сертификата CCNA не так уж и мало, будет обидно, если из-за такой мелочи экзамен будет завален. Ну и наконец понимания двоичной системы счисления ведет к лучшему пониманию принципа работы .
Вообще сетевой инженер не обязан уметь делать перевод чисел из двоичной системы счисления в десятичную и наоборот в уме. Более того, это редко кто умеет делать в уме, в основном к такой категории относятся преподаватели различных курсов по компьютерным сетям, так как они сталкиваются с этим постоянно изо дня в день. Но при помощи листа бумаги и ручки вам стоит научиться осуществлять перевод.
Давайте начнем с простого и поговорим про двоичные цифры и числа , вы же знаете, что цифры и числа – это две разные вещи. Цифра – это специальный символ для обозначения, а число – это абстрактная запись, означающая количество. Например, чтобы записать, что у нас пять пальцев на руке мы можем использовать римские и арабский цифры: V и 5. В данном случае пять является одновременно и числом, и цифрой. А, например, для записи числа 20 мы используем две цифры: 2 и 0.
Итого, в десятичной системе счисления у нас есть десять цифр или десять символов (0,1,2,3,4,5,6,7,8,9), комбинируя которые мы можем записывать различные числа. Каким принципом мы руководствуемся, используя десятичную систему счисления? Да все очень просто, мы возводим десятку в ту или иную степень, для примера возьмём число 321. Как его можно записать по-другому, да вот так: 3*10 2 +2*10 1 +1*10 0 . Таким образом получается, что число 321 представляет собой три разряда:
То есть в данной записи двойка это не просто двойка, а две десятки или два раза по десять. А тройка это не просто тройка, а три раза по сто. Получается такая зависимость: единица каждого следующего разряда в десять раз больше единицы предыдущего, ведь, что такое 300 – это три раза по сто. Отступление по поводу десятичной системы счисление было нужно, чтобы проще понять двоичную.
В двоичной системе счисления всего две цифры: 0 и 1 . Поэтому запись числа в двоичной системе зачастую гораздо больше, чем в десятичной. За исключением чисел 0 и 1, ноль в двоичной системе счисления равен нулю в десятичной, аналогично и для единицы. Иногда, чтобы не перепутать в какой системе счисления записано число, используют суб-индексы: 267 10 , 10100 12 , 4712 8 . Число в суб-индексе указывает на систему счисления.
Для записи двоичных чисел могут быть использованы символы 0b и &(амперсанд): 0b10111, &111 . Если в десятичной системе счисления, чтобы произнести число 245 мы воспользуемся вот такой конструкцией: двести сорок пять, то в двоичной системе счисления чтобы назвать число, нам нужно произнести цифру из каждого разряда, например, число 1100 в двоичной системе счисления следует произносить не как тысяча сто, а как один, один, ноль, ноль. Давайте посмотрим на запись чисел от 0 до 10 в двоичной системе счисления:
Думаю, логика должна быть уже понятна. Если в десятичной системе счисления для каждого разряда у нас было доступно десять вариантов (от 0 до 9 включительно), то в двоичной системе счисления в каждом из разрядов двоичного числа у нас только два варианта: 0 или 1 .
Для работы с IP-адресами и масками подсети нам достаточно натуральных чисел в двоичной системе счисления, хотя двоичная система позволяет записывать дробные и отрицательные числа, но нам это без надобности .
Давайте лучше разберемся с тем, как преобразовать число из десятичной системы счисления в двоичную . И тут все на самом деле очень и очень просто, хотя на словах объяснить трудно, поэтому сразу приведу пример преобразования чисел из десятичной системы счисления в двоичную . Возьмем число 61, чтобы выполнить преобразование в двоичную систему, нам нужно это число делить на два и смотреть, что получается в остатке от деления. А результат деления снова делить на два. В данном случае 61 – это делимое, в качестве делителя у нас всегда будет двойка, а частное (результат деления) мы делим снова на два, продолжаем деление до тех пор, пока в частном не окажется 1, эта последняя единица и будет крайним левым разрядом. Рисунок ниже это демонстрирует.
При этом обратите внимание, что число 61, это не 101111, а 111101, то есть выписываем результат с конца. Единицу в последнем частном смысла делить на два нет, поскольку в данном случае используется целочисленное деление, а при таком подходе получается так, как на Рисунке 4.4.2.
Это не самый быстрый способ перевода числа из двоичной системы счисления в десятичную
. У нас есть несколько ускорителей. Например, число 7 в двоичной системе записывается как 111, число 3 как 11, а число 255 как 11111111. Все эти случаи до безобразия просты. Дело в том, что числа 8, 4, и 256 являются степенями двойки, а числа 7, 3 и 255 на единицу меньше этих чисел. Так вот для числа, которые на единицу меньше, чем число равное степени двойки, действует простое правило: в двоичной системе такое десятичное число записывается количеством единиц равным степени двойки. Так, например, число 256 это два в восьмой степени, следовательно, 255 записывается как 11111111, а число 8 это два в третьей степени, а это говорит нам о том, что 7 в двоичной системе счисления будет записано как 111. Ну а понять, как записать 256, 4 и 8 в двоичной системе счисления тоже не трудно, достаточно просто прибавить единицу: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
Любой свой результат вы можете проверить на калькуляторе и по началу лучше так и делать.
Как видим, делить мы еще не разучились. И теперь можем двигаться дальше.
Преобразование чисел из двоичной системы счисления выполняется гораздо проще, чем перевод из десятичной в двоичную. В качестве примера перевода будем использовать число 11110. Обратите внимание на табличку ниже, она показывает степень, в которую нужно возвести двойку, чтобы потом в итоге получить десятичное число.
Чтобы из этого двоичной числа получить десятичное, нужно каждое число в разряде умножить на два в степени, а затем сложить результаты перемножения, проще показать:
1*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 = 16+8+4+2+0=30
Откроем калькулятор и убедимся, что 30 в десятичной системе счисления, это 11110 в двоичной.
Видим, что всё сделано верно. Из примера видно, что перевод числа из двоичной системы счисления в десятичную выполняется куда проще, чем обратный перевод . Чтобы уверенно работать с нужно лишь помнить степени двойки до 2 8 . Для наглядности приведу таблицу.
Нам больше и не нужно, поскольку максимально возможное число, которое можно записать в один байт (8 бит или восемь двоичных значений) равно 255, то есть в каждом октете IP-адреса или маски подсети протокола IPv4 максимально возможное значение — 255. В есть поля, в которых есть значения больше 255, но их нам рассчитывать не нужно.
Давайте теперь посмотрим на операции, которые можно выполнять с двоичными числами . Начнем с простых арифметических операций, а затем перейдем к операциям булевой алгебры.
Складывать двоичные числа не так уж сложно: 1+0 =1; 1+1=0 (в дальнейшем дам пояснение); 0+0=0. Это были простые примеры, где использовался лишь один разряд, давайте посмотрим на примеры, где количество разрядов больше, чем один.
101+1101 в десятичной системе это будет 5 + 13 = 18. Давайте посчитаем в столбик.
Результат выделен оранжевым цветом, калькулятор говорит, что мы посчитали верно, можете проверить. Теперь давайте смотреть почему так получилось, ведь вначале я написал, что 1+1=0, но это для случая, когда у нас есть только один разряд, для случаев, когда разрядов больше, чем один, 1+1=10 (или два в десятичной), что логично.
Тогда смотрите, что получается, мы выполняем сложения по разрядам справа налево:
1. 1+1=10, записываем ноль, а единица уходит в следующий разряд.
2. В следующем разряде получается 0+0+1=1 (эта единица пришла к нам из результата сложения на шаге 1).
4. Тут у нас есть единица только у второго числа, но сюда еще перенеслась, поэтому 0+1+1 = 10.
5. Склеиваем всё воедино:10|0|1|0.
Если лень в столбик, то давайте считать так: 101011+11011 или 43 + 27 = 70. Как тут можно поступить, а давайте смотреть, ведь нам никто не запрещает делать преобразования, а от перемены мест слагаемых сумма не меняется, для двоичной системы счисления это правило также актуально.
Можете проверить калькулятором, 1000110 в двоичной системе счисления это 70 в десятичной.
Сразу пример для вычитания одноразрядных чисел в двоичной системе счисления , про отрицательные числа мы не говорили, поэтому 0-1 не берем в расчет: 1 – 0 = 1; 0 – 0 = 0; 1 – 1 = 0. Если разрядов больше чем один, то тоже все просто, даже никаких столбиков и ухищрений не нужно: 110111 – 1000, это то же самое, что и 55 – 8. В результате мы получим 101111. И биться сердце перестало, откуда единица в третьем разряде (нумерация слева направо и начинается с нуля)? Да всё просто! Во втором разряде числа 110111 стоит 0, а в первом разряде стоит 1 (если примем, что нумерация разрядов начинается с 0 и идет слева направо), но единица четвертого разряда получается путем сложения двух единиц третьего разряда (получается этакая виртуальная двойка) и от этой двойки мы отнимаем единицу, которая стоит в нулевом разряде числа 1000, ну а 2 — 1 = 1, ну а 1 является допустимой цифрой в двоичной системе счисления.
Нам осталось рассмотреть умножение двоичных чисел, которое реализует за счет сдвига на один разряд влево . Но для начала давайте посмотрим на результаты одноразрядного умножения: 1*1 = 1; 1*0=0 0*0=0. Собственно, всё просто, теперь давайте посмотрим на что-нибудь более сложное. Возьмем числа 101001 (41) и 1100 (12). Умножать будем столбиком.
Если из таблицы непонятно как так получилось, то попробую объяснить словами:
В общем-то, операция умножения не такая уж и сложная, нужно лишь немного попрактиковаться.
В булевой алгебре есть два очень важных понятия: true (истина) и false (ложь), эквивалентом для них служат ноль и единица в двоичной системе счисления. Операторы булевой алгебры расширяют количество доступных операторов над этими значениями, давайте на них посмотрим.
Операция «Логическое И» или AND эквивалентно умножению одноразрядных двоичных чисел.
1 AND 1 = 1; 1 AND 0 = 1; 0 AND 0 = 0; 0 AND 1 = 0.
1 AND 1 = 1 ; 1 AND 0 = 1 ; 0 AND 0 = 0 ; 0 AND 1 = 0. |
Единица в результате «Логического И» будет только в том случае, если оба значения равны единицы, во всех остальных случаях будет ноль.
Операция «Логическое ИЛИ» или OR работает по следующему принципу: если хотя бы одно значение равно единице, то в результате будет единица.
1 OR 1 = 1; 1 OR 0 = 1; 0 OR 1 = 1; 0 OR 0 = 0.
1 OR 1 = 1 ; 1 OR 0 = 1 ; 0 OR 1 = 1 ; 0 OR 0 = 0. |
Операция «Исключающее ИЛИ» или XOR даст нам в результате единицу только в том случае, если один из операндов равен единице, а второй равен нулю. Если оба операнда равны нулю, будет ноль и даже если оба операнда равны единице, в результате получится ноль.
Инструкция
Видео по теме
В той системе счета, которой мы пользуемся каждый день, десять цифр - от нуля до девяти. Поэтому она называется десятичной. Однако в технических расчетах, особенно тех, которые имеют отношение к компьютерам, используются и другие системы , в частности, двоичная и шестнадцатеричная. Поэтому нужно уметь переводить числа из одной системы счисления в другую.
Вам понадобится
Инструкция
Двоичная система - самая простая. В ней всего две цифры - ноль и единица. Каждая цифра двоичного числа , начиная с конца, соответствует степени двойки. Два в равняется одному, в первой - двум, во второй - четырем, в третьей - восьми, и так далее.
Предположим, что вам дано двоичное число 1010110. Единицы в нем стоят на втором, третьем, пятом и седьмом с конца местах. Поэтому в десятичной системе это число равно 2^1 + 2^2 + 2^4 + 2^6 = 2 + 4 + 16 + 64 = 86.
Обратная задача - десятичного числа
систему. Предположим, у вас есть число 57. Чтобы получить его запись, вы должны последовательно делить это число на 2 и записывать остаток от деления. Двоичное число будет строиться от конца к началу.
Первый шаг даст вам последнюю цифру: 57/2 = 28 (остаток 1).
Затем вы получаете вторую с конца: 28/2 = 14 (остаток 0).
Дальнейшие шаги: 14/2 = 7 (остаток 0);
7/2 = 3 (остаток 1);
3/2 = 1 (остаток 1);
1/2 = 0 (остаток 1).
Это последний шаг, потому что результат деления равен нулю. В итоге вы получили двоичное число 111001.
Проверьте правильность ответа: 111001 = 2^0 + 2^3 + 2^4 + 2^5 = 1 + 8 + 16 + 32 = 57.
Вторая , используемая в компьютерных вопросах - шестнадцатеричная. В ней не десять, а шестнадцать цифр. Чтобы не новых условных обозначений, первые десять цифр шестнадцатеричной системы обозначаются обычными цифрами, а остальные шесть - латинскими буквами: A, B, C, D, E, F. десятичной записи они соответствуют числа м от 10 до 15. Во избежание путаницы перед числом, записанным по шестнадцатеричной системе, ставят знак # или символы 0x.
Чтобы число из шестнадцатеричной системы , нужно каждую его цифру умножить на соответствующую степень шестнадцати и сложить результаты. Например, число #11A в десятичной записи равняется 10*(16^0) + 1*(16^1) + 1*(16^2) = 10 + 16 + 256 = 282.
Обратный перевод из десятичной системы
в шестнадцатеричную совершается тем же методом остатков, что и в двоичную. Например, возьмите число 10000. Последовательно деля его на 16 и записывая остатки, вы получите:
10000/16 = 625 (остаток 0).
625/16 = 39 (остаток 1).
39/16 = 2 (остаток 7).
2/16 = 0 (остаток 2).
Результатом вычислений станет шестнадцатеричное число #2710.
Проверьте правильность ответа: #2710 = 1*(16^1) + 7*(16^2) + 2*(16^3) = 16 + 1792 + 8192 = 10000.
Переводить числа
из шестнадцатеричной системы
в двоичную гораздо проще. Число 16 является двойки: 16 = 2^4. Поэтому каждую шестнадцатеричную цифру можно записать как четырехзначное двоичное число. Если у вас в двоичном числе получается меньше четырех знаков, добавляйте в начало нули.
Например, #1F7E = (0001)(1111)(0111)(1110) = 1111101111110.
Проверьте правильность ответа: оба числа
в десятичной записи равны 8062.
Для перевода вам нужно разбить двоичное число на группы по четыре цифры, начиная с конца, и каждую такую группу заменить шестнадцатеричной цифрой.
Например, 11000110101001 превращается в (0011)(0001)(1010)(1001), что в шестнадцатеричной записи дает #31A9. Правильность ответа подтверждается переводом в десятичную запись: оба числа
равны 12713.
Благодаря ограниченности в использовании символов двоичная система является наиболее удобной для использования в компьютерах и других цифровых устройствах. Символов всего два: 1 и 0, поэтому эту систему применяют в работе регистров.
Инструкция
Двоичная является позиционной, т.е. позиции каждой цифры в числе соответствует определенный разряд, который равен двум в соответствующей степени. Степень начинается с нуля и увеличивается по мере движения справа налево. Например, число 101 равно 1*2^0 + 0*2^1 + 1*2^2 = 5.
Широким распространением среди позиционных систем пользуются также восьмеричная, шестнадцатеричная и десятичная системы . И если для первых двух более применим второй метод, то для перевода из применимы оба.
Рассмотрим десятичного числа в двоичную систему методом последовательного деления на 2.Чтобы перевести десятичное число 25 в