Перевод чисел онлайн

Содержание

Перевод чисел в различные системы счислений

Перевод чисел онлайн

Когда занимаешься настройками сетей различного масштаба и каждый день сталкиваешься с вычислениями – то такого рода шпаргалки заводить не обязательно, все и так делается на безусловном рефлексе.

Но когда в сетях ковыряешься очень редко, то не всегда вспомнишь какая там маска в десятичной форме для префикса 21 или же какой адрес сети при этом же префиксе.

В связи с этим я и решил написать несколько маленьких статей-шпаргалок по переводом чисел в различные системы счислений, сетевым адресам, маскам и т.п. В это части пойдет речь о переводи чисел в различные системы счислений.

Когда вы занимаетесь чем-то связанным с компьютерными сетями и ИТ, вы по любому столкнетесь с этим понятием. И как толковый ИТ-шник вам нужно разбираться в этом хотя бы чу-чуть даже если на практике вы это будете применять очень редко.
Рассмотрим перевод каждой цифры из IP-адреса 98.251.16.138 в следующие системы счислений:

  • Двоичная
  • Восьмеричная
  • Десятичная
  • Шестнадцатеричная

1.1 Десятичная

Так как цифры записаны в десятичной, перевод с десятичной в десятичную пропустим

Источник: http://sysadm.pp.ua/internet/numeral-systems.html

Перевод из одной системы счисления в другую

Перевод чисел онлайн

Для перевода чисел из одной системы счисления в другую необходимо владеть основными сведениями о системах счисления и форме представления чисел в них.

Количество s различных цифр, употребляемых в системе счисления, называется основанием, или базой системы счисления. В общем случае положительное число X в позиционной системе с основанием s может быть представлено в виде полинома:

где s – база системы счисления, – цифры, допустимые в данной системе счисления . Последовательность образует целую часть X, а последовательность – дробную часть X.

В вычислительной технике наибольшее применение нашли двоичная (BIN – binary), и двоично кодированные системы счисления: восьмеричная (OCT – octal), шестнадцатеричная (HEX – hexadecimal) и двоично-кодированная десятичная (BCD – binary coded decimal).

В дальнейшем для обозначения используемой системы счисления число будет заключаться в скобки, а в индексе указано основание системы. Число X по основанию s будет обозначено .

Если Вам не нужно углубляться в теорию, а нужно лишь получить результат, то воспользуйтесь Калькулятором онлайн Перевод целых чисел из десятичной системы счисления в другие системы.

Двоичная система счисления

Основанием системы счисления служит число 2 (s = 2) и для записи чисел используются только две цифры: 0 и 1. Чтобы представить любой разряд двоичного числа, достаточно иметь физический элемент с двумя чётко различными устойчивыми состояниями, одно из которых изображает 1, а другое 0.

Прежде чем заняться переводом из любой системы счисления в двоичную, нужно внимательно изучить пример записи числа в двоичной системе счисления:

Если Вам не нужно углубляться в теорию, а нужно лишь получить результат, то воспользуйтесь Калькулятором онлайн Перевод целых чисел из десятичной системы счисления в другие системы.

Восьмеричная и шестнадцатеричная системы счисления

Эти системы счисления относятся к двоично-кодированным, в которых основание системы счисления представляет собой целую степень двойки: – для восьмеричной и – для шестнадцатеричной.

В восьмеричной системе счисления(s = 8) используются 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7.

Прежде чем заняться переводом из любой системы счисления в восьмеричную, нужно внимательно изучить пример записи числа в восьмеричной системе:

В шестнадцатеричной системе счисления (s = 16) используются 16 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Пример записи числа в шестнадцатеричной системе:

Широкое применение восьмеричной и шестнадцатеричной систем счисления обусловлено двумя факторами.

Во-первых, эти системы позволяют заменить запись двоичного числа более компактным представлением (запись числа в восьмеричной и шестнадцатеричной системах будет соответственно в 3 и 4 раза короче двоичной записи этого числа).

Во-вторых, взаимное преобразование чисел между двоичной системой с одной стороны и восьмеричной и шестнадцатиречной – с другой осуществляется сравнительно просто.

Действительно, поскольку для восьмеричного числа каждый разряд представляется группой из трёх двоичных разрядов (триад), а для шестнадцатеричного – группой из четырёх двоичных разрядов (тетрад), то для преобразования двоичного числа достаточно объединить его цифры в группы по 3 или 4 разряда соответственно, продвигаясь от разделительной запятой вправо и влево. При этом, в случае необходимости, добавляют нули слева от целой части и/или справа от дробной части и каждую такую группу – триаду или тетраду – заменяют эвивалентной восьмеричной или шестнадцатеричной цифрой (см. таблицу).

Если Вам не нужно углубляться в теорию, а нужно лишь получить результат, то воспользуйтесь Калькулятором онлайн Перевод целых чисел из десятичной системы счисления в другие системы.

Соответствие между цифрами в различных системах счисления

DECBINOCTHEXBCD
00000000000
10001110001
20010220010
30011330011
40100440100
50101550101
60110660110
70111770111
810001081000
910011191001
10101012A0001 0000
11101113B0001 0001
12110014C0001 0010
13110115D0001 0011
14111016E0001 0100
15111117F0001 0101

Для обратного перевода каждая OCT или HEX цифра заменяется соответственно триадой или тетрадой двоичных цифр, причём незначащие нули слева и справа отбрасываются.

Для рассмотренных ранее примеров это выглядит следующим образом:

Если Вам не нужно углубляться в теорию, а нужно лишь получить результат, то воспользуйтесь Калькулятором онлайн Перевод целых чисел из десятичной системы счисления в другие системы.

Двоично-десятичная система счисления

В двоично-десятичной системе вес каждого разряда равен степени 10, как в десятичной системе, а каждая десятичная цифра кодируется четырьмя двоичными цифрами. Для записи десятичного числа в BCD-системе достаточно заменить каждую десятичную цифру эквивалентной четырёхразрядной двоичной комбинацией:

Любое десятичное число можно представить в двоично-десятичной записи, но следует помнить, что это не двоичный эквивалент числа. Это видно из следующего примера:

Перевод чисел из одной системы счисления в другую

Пусть X – число в системе счисления с основанием s, которое требуется представить в системе с основанием h. Удобно различать два случая.

В первом случае и, следовательно, при переходе к основанию h можно использовать арифметику этой системы.

Метод преобразования состоит в представлении числа в виде многочлена по степеням s, а также в вычислении этого многочлена по правилам арифметики системы счисления с основанием h.

Так, например, удобно переходить от двоичной или восьмеричной системы счисления к десятичной. Описанный приём иллюстрируют следующие примеры:

.

.

В обоих случаях арифметические действия выполняются по правилам системы счисления с основанием 10.

Во втором случае () удобнее пользоваться арифметикой по основанию s. Здесь следует учитывать, что перевод целых чисел и правильных дробей производится по различным правилам. При переводе смешанных дробей целая и дробная части переводятся каждая по своим правилам, после чего полученные числа записываются через запятую.

Перевод целых чисел

Правила перевода целых чисел становится ясным из общей формулы записи числа в произвольной позиционной системе. Пусть число в исходной системе счисления s имеет вид . Требуется получить запись числа в системе счисления с основанием h:

.

Для нахождения значений разделим этот многочлен на h:

.

Как видно, младший разряд , то есть , равен первому остатку. Следующий значащий разряд определяется делением частного на h:

.

Остальные также вычисляются путём деления частных до тех пор, пока не станет равным нулю.

Для перевода целого числа из s-ичной системы счисления в h-ичную необходимо последовательно делить это число и получаемые частные на h (по правилам системы счисления с основанием h) до тех пор, пока частное не станет равным нулю. Старшей цифрой в записи числа с основанием h служит последний остаток, а следующие за ней цифры образуют остатки от предшествующих делений, выписываемые в последовательности, обратной их получению.

Пример 1. Перевести число 75 из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы.

Решение:

Если Вам не нужно углубляться в теорию, а нужно лишь получить результат, то воспользуйтесь Калькулятором онлайн Перевод целых чисел из десятичной системы счисления в другие системы.

Перевод правильных дробей

Правильную дробь , имеющую в системе с основанием s вид , можно выразить в системе счисления с основанием h как многочлен вида

Старшая цифра может быть найдена умножением этого многочлена на h, т.е.

Если это произведение меньше 1, то цифра равна 0, если же оно больше или равно 1, то цифра равна целой части произведения. Следующая цифра справа определяется путём умножения дробной части указанного выше произведения на h и выделения его целой части и т.д. Процесс может оказаться бесконечным, т.к. не всегда можно представить дробь по основанию h конечным набором цифр.

Для перевода правильной дроби из системы счисления с основанием s в систему счисления с основанием h нужно умножать исходную дробь и дробные части получающихся произведений на основание h (по правилам “старой” s-системы счисления). Целые части полученных произведений дают последовательность цифр дроби в h-системе счисления.

Описанная процедура продолжается до тех пор, пока дробная часть очередного произведения не станет равной нулю либо не будет достигнута требуемая точность изображения числа X в h-ичной системе счисления.

Представлением дробной части числа X в новой системе счисления будет последовательности целых частей полученных произведений, записанных в порядке их получения и изображённых h-ичной цифрой.

Абсолютная погрешность перевода числа X при p знаков после запятой равняется .

Пример 2. Перевести правильную дробь 0,453 из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.

* В двоичную систему:

Ответ:

** В восьмеричную систему:

Ответ:

*** В шестнадцатеричную систему:

Ответ: так как , то

с друзьями

Источник: https://function-x.ru/calculus2.html

Перевод чисел из одной системы счисления в любую другую онлайн

Перевод чисел онлайн

Калькулятор переводит числа из одной системы счисления в любую другую.

Для перевода чисел из десятичной с/с в любую другую, необходимо делить десятичное число на основание системы, в которую переводят, сохраняя при этом остатки от каждого деления. Результат формируется справа налево. Деление продолжается до тех пор, пока результат деления не станет меньше делителя.

Калькулятор переводит числа из одной системы счисления в любую другую. Он может переводить числа из двоичной в десятичную или из десятичной в шестнадцатеричную, показывая подробный ход решения. Вы с легкостью можете перевести число из троичной в пятеричную или даже из семеричной  в семнадцатеричную. Калькулятор умеет переводить числа из любой системы счисления в любую другую.

Способы перевода чисел из одной системы счисления в другую

В программу ЕГЭ по информатике входят несколько задач, связанных с переводом чисел из одной системы в другую. Как правило, это преобразование между 8- и 16-ричными системами и двоичной. Это разделы А1, В11. Но есть и задачи с другими системами счисления, как например, в разделе B7.

Для начала напомним две таблицы, которые хорошо бы знать наизусть тем, кто выбирает информатику своей дальнейшей профессией.

Таблица степеней числа 2:

212223242526272829210
2481632641282565121024

Она легко получается умножением предыдущего числа на 2. Так, что если помните не все эти числа, остальные нетрудно получить в уме из тех, которые помните.

Таблица двоичных чисел от 0 до 15 c 16-ричным представлением:

0123456789101112131415
0000000100100011010001010110011110001001101010111100110111101111
0123456789ABCDEF

Недостающие значения тоже нетрудно вычислить, прибавляя по 1 к известным значениям.

Арифметические операции в двоичной системе счисления

СложениеВычитаниеУмножение
0+0=00-0=00*0=0
1+0=11-0=11*0=0
0+1=10-1=10*1=0
1+1=101-1=01*1=1

При сложении двух чисел, равных 1, в данном разряде получается 0, а 1-ца переносится в старший разряд.

Перевод целых чисел

Итак, начнем с перевода сразу в двоичную систему. Возьмём то же число 81010. Нам нужно разложить это число на слагаемые, равные степеням двойки.

  1. Ищем ближайшую к 810 степень двойки, не превосходящую его. Это 29 = 512.
  2. Вычитаем 512 из 810, получаем 298.
  3. Повторим шаги 1 и 2, пока не останется 1 или 0.

  4. У нас получилось так: 810 = 512 + 256 + 32 + 8 + 2 = 29 + 28 + 25 + 23 + 21.

Далее есть два способа, можно использовать любой из них. Как легко увидеть, что в любой системе счисления её основание всегда 10. Квадрат основания всегда будет 100, куб 1000.

То есть степень основания системы счисления — это 1 (единица), и за ней столько нулей, какова степень.

Способ 1: Расставить 1 по тем разрядам, какие получились показатели у слагаемых. В нашем примере это 9, 8, 5, 3 и 1. В остальных местах будут стоять нули. Итак, мы получили двоичное представление числа 81010 = 11001010102.

Единицы стоят на 9-м, 8-м, 5-м, 3-м и 1-м местах, считая справа налево с нуля.

Способ 2: Распишем слагаемые как степени двойки друг под другом, начиная с большего.

810 =

29 =1000000000(1 и девять нулей) +
28 =100000000(1 и восемь нулей) +
25 =100000(1 и пять нулей) +
23 =1000(1 и три нуля) +
21 =10(1 и один ноль)

А теперь сложим эти ступеньки вместе, как складывают веер: 1100101010. Вот и всё. Попутно также просто решается задача «сколько единиц в двоичной записи числа 810?». Ответ — столько, сколько слагаемых (степеней двойки) в таком его представлении. У 810 их 5. Теперь пример попроще.

Переведём число 63 в 5-ричную систему счисления. Ближайшая к 63 степень числа 5 — это 25 (квадрат 5). Куб (125) будет уже много. То есть 63 лежит между квадратом 5 и кубом. Тогда подберем коэффициент для 52. Это 2.

Получаем 6310 = 50 + 13 = 50 + 10 + 3 = 2 * 52 + 2 * 5 + 3 = 2235.

Ну и, наконец, совсем лёгкие переводы между 8- и 16-ричными системами. Так как их основанием является степень двойки, то перевод делается автоматически, просто заменой цифр на их двоичное представление. Для 8-ричной системы каждая цифра заменяется тремя двоичными разрядами, а для 16-ричной четырьмя. При этом все ведущие нули обязательны, кроме самого старшего разряда.

Переведем в двоичную систему число 5478.

Ещё одно, например 7D6A16.

7D6A16=(0)111110101101010
7D6A

Переведем в 16-ричную систему число 7368. Сначала цифры запишем тройками, а потом поделим их на четверки с конца: 7368 = 111 011 110 = 1 1101 1110 = 1DE16. Переведем в 8-ричную систему число C2516.

Сначала цифры запишем четвёрками, а потом поделим их на тройки с конца: C2516 = 1100 0010 0101 = 110 000 100 101 = 60458. Теперь рассмотрим перевод обратно в десятичную. Он труда не представляет, главное не ошибиться в расчётах.

Раскладываем число на многочлен со степенями основания и коэффициентами при них. Потом всё умножаем и складываем. E6816 = 14 * 162 + 6 * 16 + 8 = 3688. 7328 = 7 * 82 + 3*8 + 2 = 474.

Перевод отрицательных чисел

Здесь нужно учесть, что число будет представлено в дополнительном коде. Для перевода числа в дополнительный код нужно знать конечный размер числа, то есть во что мы хотим его вписать — в байт, в два байта, в четыре. Старший разряд числа означает знак.

Если там 0, то число положительное, если 1, то отрицательное. Слева число дополняется знаковым разрядом. Беззнаковые (unsigned) числа мы не рассматриваем, они всегда положительные, а старший разряд в них используется как информационный.

Для перевода отрицательного числа в двоичный дополнительный код нужно перевести положительное число в двоичную систему, потом поменять нули на единицы и единицы на нули. Затем прибавить к результату 1.

Итак, переведем число -79 в двоичную систему. Число займёт у нас один байт.

Переводим 79 в двоичную систему, 79 = 1001111. Дополним слева нулями до размера байта, 8 разрядов, получаем 01001111. Меняем 1 на 0 и 0 на 1. Получаем 10110000. К результату прибавляем 1, получаем ответ 10110001.

Попутно отвечаем на вопрос ЕГЭ «сколько единиц в двоичном представлении числа -79?».

Ответ — 4.

Прибавление 1 к инверсии числа позволяет устранить разницу между представлениями +0 = 00000000 и -0 = 11111111. В дополнительном коде они будут записаны одинаково 00000000.

Перевод дробных чисел

Дробные числа переводятся способом, обратным делению целых чисел на основание, который мы рассмотрели в самом начале.

То есть при помощи последовательного умножения на новое основание с собиранием целых частей. Полученные при умножении целые части собираются, но не участвуют в следующих операциях. Умножаются только дробные.

Если исходное число больше 1, то целая и дробная части переводятся отдельно, потом склеиваются.

Переведем число 0,6752 в двоичную систему.

0,6752
*2
1,3504
*2
0,7008
*2
1,4016
*2
0,8032
*2
1,6064
*2
1,2128

Процесс можно продолжать долго, пока не получим все нули в дробной части или будет достигнута требуемая точность. Остановимся пока на 6-м знаке.

Получается 0,6752 = 0,101011.

Если число было 5,6752, то в двоичном виде оно будет 101,101011.

Нужно перевести число 81010 в двоичную систему

Результат записываем в обратном порядке снизу вверх.

Получается 81010 = 11001010102

Источник: https://calcsbox.com/post/perevod-cisel-iz-odnoj-sistemy-scislenia-v-lubuu-druguu-onlajn.html

Системы счисления. Перевод систем счисления

Перевод чисел онлайн

Разберем одну из важнейших тем по информатике – Системы счисления. В школьной программе она раскрывается довольно “скромно”, скорее всего, из-за недостатка отведенных на нее часов.

Знания по этой теме, особенно на перевод систем счисления, являются обязательным условием для успешной сдачи ЕГЭ и поступления в ВУЗы на соответствующие факультеты.

Ниже подробным образом рассмотрены такие понятия, как позиционные и непозиционные системы счисления, даны примеры этих систем счисления, представлены правила перевода целых десятичных чисел, правильных десятичных дробей и смешанных десятичных чисел в любую другую систему счисления, перевода чисел из любой системы счисления в десятичную, перевода из восьмеричной и шестнадцатиричной систем счисления в двоичную систему счисления. На экзаменах в большом количестве встречаются задачи по данной теме. Умение их решать – одно из требований к абитуриентам. Скоро: По каждой теме раздела, помимо подробного теоретического материала, будут представлены практически все возможные варианты задач для самостоятельного изучения. Кроме того, у вас появится возможность совершенно бесплатно скачать с файлообменника уже готовые подробные решения к данным задачам, иллюстрирующие различные способы получения верного ответа.

Непозиционные системы счисления

Непозиционные системы счисления – системы счисления, в которых количественное значение цифры не зависит от ее местоположения в числе.

К непозиционным системам счисления относится, например, римская, где вместо цифр – латинские буквы.

I1 (один)
V5 (пять)
X10 (десять)
L50 (пятьдесят)
C100 (сто)
D500 (пятьсот)
M1000 (тысяча)

Здесь буква V обозначает 5 независимо от ее местоположения. Однако стоит упомянуть о том, что хотя римская система счисления и является классическим примером непозиционной системы счисления, не является полностью непозиционной, т.к. меньшая цифра, стоящая перед большей, вычитается из нее:

IL49 (50-1=49)
VI6 (5+1=6)
XXI21 (10+10+1=21)
MI1001 (1000+1=1001)

Позиционные системы счисления

Позиционные системы счисления – системы счисления, в которых количественное значение цифры зависит от ее местоположения в числе.

Например, если говорить о десятичной системе счисления, то в числе 700 цифра 7 означает “семь сотен”, но эта же цифра в числе 71 означает “семь десятков”, а в числе 7020 – “семь тысяч”.

Каждая позиционная система счисления имеет свое основание. В качестве основания выбирается натуральное число, большее или равное двум. Оно равно количеству цифр, используемых в данной системе счисления.

    Например:

  • Двоичная – позиционная система счисления с основанием 2.
  • Четверичная – позиционная система счисления с основанием 4.
  • Пятиричная – позиционная система счисления с основанием 5.
  • Восьмеричная – позиционная система счисления с основанием 8.
  • Шестнадцатиричная – позиционная система счисления с основанием 16.

Чтобы успешно решать задачи по теме “Системы счисления”, ученик должен знать наизусть соответствие двоичных, десятичных, восьмеричных и шестнадцатиричных чисел до 1610:

10 с/с2 с/с8 с/с16 с/с
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
16100002010

Полезно знать, как получаются числа в этих системах счисления. Можно догадаться, что в восьмеричной, шестнадцатиричной, троичной и других позиционных системах счисления все происходит аналогично привычной нам десятичной системе:

К числу прибавляется единица и получается новое число. Если разряд единиц становится равен основанию системы счисления, мы увеличиваем число десятков на 1 и т.д.

Этот “переход единицы” как раз и пугает большинство учеников. На самом же деле все довольно просто. Переход происходит, если разряд единиц становится равен основанию системы счисления, мы увеличиваем число десятков на 1. Многие, помня старую добрую десятичную систему моментально путаются в разряда и в этом переходе, ведь десятичный и, например, двоичный десятки – разные вещи.

Отсюда у находчивых учеников появляются “свои методики” (на удивление… работающие) при заполнении, например, таблиц истинности, первые столбцы (значения переменных) которых, фактически, заполняются двоичными числами в порядке возрастания.

Для примера разберем получение чисел в восьмеричной системе: К первому числу (0) прибавляем 1, получаем 1. Затем к 1 прибавляем 1, получаем 2 и т.д. до 7.

Если мы прибавим к 7 единицу, получим число равное основанию системы счисления, т.е. 8. Тогда нужно увеличить на единицу разряд десятков (получаем восьмеричный десяток – 10).

Далее, очевидно, идут числа 11, 12, 13, 14, 15, 16, 17, 20, …, 27, 30, …, 77, 100, 101…

Правила перевода из одной системы счисления в другую

Далее последовательно разбирается перевод систем счисления.

1. Перевод целых десятичных чисел в любую другую систему счисления

Число нужно разделить на новое основание системы счисления. Первый остаток от деления – это и есть первая младшая цифра нового числа.

Если частное от деления меньше или равно новому основанию, то его (частное) нужно снова разделить на новое основание. Деление нужно продолжать, пока не получим частное меньше нового основания.

Это есть старшая цифра нового числа (нужно помнить, что, например, в шестнадцатиричной системе после 9 идут буквы, т.е. если в остатке получили 11, нужно записать его как B).

Пример (“деление уголком”): Переведем число 17310 в восьмеричную систему счисления.

Таким образом, 17310=2558

2. Перевод правильных десятичных дробей в любую другую систему счисления

Число нужно умножить на новое основание системы счисления. Цифра, перешедшая в целую часть – старшая цифра дробной части нового числа.

для получения следующей цифры дробную часть получившегося произведения опять нужно умножать на новое основание системы счисления, пока не произойдет переход в целую часть.

Умножение продолжаем, пока дробная часть не станет равна нулю, либо пока не дойдем до указанной в задаче точности (“… вычислить с точностью, например, двух знаков после запятой”).

Пример: Переведем число 0,6562510 в восьмеричную систему счисления.

Таким образом, 0,6562510=0,528

3. Перевод смешаных десятичных чисел в любую другую систему счисления

Переводим отдельно целую часть, отдельно дробную – записываем в одно число.

Пример: Переведем число 17,2510 в восьмеричную систему счисления.

По аналогии с пунктом 1: 1710 = 218

По аналогии с пунктом 2: 0,2510 = 0,28

“Склеиваем” два числа и получаем ответ: 17,2510 = 21,28.

4. Перевод чисел из любой системы счисления в десятичную

Числа необходимо представить в разложении по степеням той системы счисления, в которой находится число, при чем цифры числа необходимо записать в десятичном эквиваленте. Найти арифметическую сумму.

Пример: Переведем число 1011,012 в десятичную систему счисления.

1) Чтобы представить число в разложении по степеням, нужно найти запятую и проставить “карандашиком” влево и вправо от запятой степени над цифрами числа (слева – неотрицательные степени, т.е. начинаем с нуля; справа – отрицательные, начиная с -1):

13 02 11 10, 0-1 1-22

2) Далее умножаем каждую цифру на основание системы счисления, в которой находится число, возведенное в соответствующую “подписанную” степень (помним, что любое число в нулевой степени – это единица):

1011,012 = 1*23 + 0*22 + 1*21 + 1*20 + 0*2-1 + 1*2-2 =
= 8 + 0 + 2 + 1 + 0 + 1/22 = 11 + 1/4 = 11 + 0,25 = 11,2510

Ответ: 11,2510.

5. Перевод чисел из восьмеричной системы счисления в двоичную

Каждую цифру восьмеричного числа нужно заменить соответствующей двоичной триадой ( * * * ) – например, для цифры 7 – 111, для 3 – 011. Незначащие нули можно отбросить.

Пример: Переведем число 274,068 в двоичную систему счисления.

Просто заменяем все числа триадами:

2 7 4, 0 6 -> 010 111 100, 000 110

274,068 = 10111100,000112

Ответ: 10111100,000112.

6. Перевод чисел из двоичной системы счисления в восьмеричную

Несложно догадаться, что на этот раз мы просто разбиваем число на триады и заменяем восьмеричными цифрами (помним, что разбивать начинаем “от запятой” влево и вправо; там, где не хватает дополняем незначащими нулями).

Пример: Переведем число 1111,01100112 в восьмеричную систему счисления.

Разбиваем на триады и заменяем:

001'111,011'001'100 -> 1'7,3'1'4

1111,01100112 = 17,3148

Ответ: 17,3148.

Откуда же появились эти “триады”?

Да это же степень, в которую нужно возвсти двойку, чтобы получить основание 8!

Очевидно, что для шестнадцатиричной системы счисления появятся тетрады (“тетра” – четыре) и т.д.

4 = 22
8 = 23Триады
16 = 24Тетрады
32 = 25

7. Перевод чисел из двоичной системы счисления в шестнадцатиричную и обратно

Перевод чисел из двоичной системы счисления в шестнадцатиричную и обратно выглядит так же, как и для пути “восьмеричная двоичная”. Отличие состоит лишь в использовании тетрад ( * * * * ).

Пример: Переведем число CD2,0416 в двоичную систему счисления.

Разбиваем и заменяем:

C'D'2, 0'4 -> 1100'1101'0010, 0000'0100

CD2,0416 = 110011010010,0000012

Ответ: 110011010010,0000012.

Источник: http://akak-ich.ru/inf-sys_sch.php

Онлайн конвертер: перевод дробных чисел из одной системы счисления в другую

Перевод чисел онлайн

Просили не так давно конвертер для перевода из одной системы счисления в другую написать, правда там на Java надо было. Решил и на JS написать 😀

Онлайн конвертер

Переводит и дробные числа тоже. Заниматься фильтрацией ввода не интересно, поэтому корректность ввода на ваше усмотрение (: Для с.с. больше 10 цифры вводите на английском языке.

Исходное число:
Основание системы счисления исходного числа: Основание системы счисления переведенного числа: Результат:

Немного математики

Люди в основном используют 10-ую систему счисления, которая содержит 10 цифр (0-9), а число 10 называется основанием системы счисления. Наша система счисления — позиционная, то есть число зависит от позиций содержащихся в нем цифр (римская — непозиционная).

12310 = 1 * 102 + 2 * 101 + 3 *100

Любое 10-ое число можно разложить на составляющие. Для этого достаточно сложить произведения всех цифр на 10 (основание системы счисления) в степени соответствующего разряда.

Переводы целых чисел из одной системы счисления в другую

Для работы с 2, 8 и 16-ми системами счисления всё просто, там порязрядно операции осуществляются. Больше интересует общий случай. Можно сформулировать алгоритм перевода целых чисел:

  1. Основание новой системы счисления выразить цифрами исходной системы счисления и все последующие действия производить в исходной системе счисления.
  2. Последовательно выполнять деление данного числа и получаемых целых частных на основание новой системы счисления до тех пор, пока не получим частное, меньшее делителя.
  3. Полученные остатки, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.
  4. Составить число в новой системе счисления, записывая его, начиная с последнего остатка.

Пример. Перевести десятичное число 14610 в восьмеричную систему счисления:

Получаем: 14610 = 2228

Переводы дробных чисел из одной системы счисления в другую

В общем ввиде алгоритм:

  1. Основание новой системы счисления выразить цифрами исходной системы счисления и все последующие действия производить в исходной системе счисления.
  2. Последовательно умножать данное число и получаемые дробные части произведений на основание новой системы до тех пор, пока дробная часть произведения не станет равной нулю или будет достигнута требуемая точность представления числа.
  3. Полученные целые части произведений, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.
  4. Составить дробную часть числа в новой системе счисления, начиная с целой части первого произведения.

Пример. Перевести число 0,6562510 в восьмеричную систему счисления:

0,

 65625

*     8

5

 25000

*     8

2

 00000

Получаем: 0,6562510 = 0,528

Для перевода в 10-ую систему можно попроще. Там для целой и дробной части подход один.

123,456x = 1 * x2 + 2 * x1 + 3 *x0 + 4 * x-1 + 5 *x-2+ 6 *x-3 = y10

Как пример:

123,4567 = 1 * 72 + 2 * 71 + 3 *70 + 4 * 7-1 + 5 *7-2+ 6 *7-3 = 66.69096…10

Видно, что из-за использования дробей с разными знаменателями не всегда возможно порой число представить в другой системе счисления без погрешностей (это касается дробных чисел). Процесс вычисления обычно обрывают на некотором шаге, когда считают, что получена требуемая точность представления числа.

Лёгкий перевод из 2, 8, 16 системы счисления

Чтобы перевести число из 8-ой(16-ой) системы в 2-ую надо каждый разряд восьмеричного (16-ого) числа записать триадами(четвёрками), т.е двоичными разрядами согласно таблице.

10-ая2-ая8-ая16-ая
0000000
1000111
1001022
3001133
4010056
5010155
6011066
7011177
81000108
9100111910101012A11101113B12110014C13110115D14111016E15111117F

Для перевода числа из двоичной системы в 8-ую(16-ую) надо начиная с младшего разряда разбить число на триады(четверки), а потом каждую из триад(четверок) заменить соответствующей цифрой в 8-ой(16-ой) системе.

Немного исходников

Кому интересно, выкладываю исходники (: Написаны, само собой, на JS. На Java в целом всё выглядит так же, с той лишь разницей, что надо везде типы определить и соответствующие приведения типов сделать.

Для перевода целого числа в десятиричную с.с. в JS достаточно всего одну строку написать:

//sNumber – исходное число //sSystem – система счисления числа //на выходе число в десятичной с.с. return parseInt(sNumber, sSystem);

Для перевода из десятиричной в другую с.с. немного посложнее:

this.fromDecInt= function(sNumber, rSystem){ var res = “”; var resDiv = Math.floor(sNumber/rSystem); var newSNumber = sNumber; if(resDiv>=rSystem) { while(resDiv>=rSystem) { resDiv = Math.floor(newSNumber/rSystem); var mod = newSNumber-resDiv*rSystem; if(mod>=10) res+= String.fromCharCode(65+mod-10); else res+=mod; newSNumber = resDiv; } } else res=res+(newSNumber-0-resDiv*rSystem); res+=resDiv; var totalResult = “”; var length = res.length; for(i=length-1;i>=0;–i) totalResult+=res.substring(i,i+1); return totalResult; }

Для дробных чисел целая часть считается функциями описанными выше. Дробная как-то так:

this.toDecD= function(sNumber,sSystem){ var res = 0; var length = sNumber.length; for(i=0;i57) res+= ((b-55)*Math.pow(sSystem, -i-1)); else res+= (sNumber.substring(i,i+1)*Math.pow(sSystem, -(i+1))); } return res; } this.fromDecD= function(sNumber, rSystem){ var res = “”; var accuracy = 10; var step = 0; while(step++

Источник: https://suvitruf.ru/2012/10/08/2028/onlajn-konverter-perevod-drobnyx-chisel-iz-odnoj-sistemy-schisleniya-v-druguyu/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.