300 в двоичном коде
Перевести число 300 из десятичной системы в двоичную
Задача: перевести число 300 из десятичной системы счисления в двоичную.
Для того, чтобы перевести число 300 из десятичной системы счисления в двоичную, необходимо осуществить последовательное деление на 2, до тех пор пока остаток не будет меньше чем 2.
— | 300 | 2 | ||
300 | — | 150 | 2 | |
0 | 150 | — | 75 | 2 |
0 | 74 | — | 37 | 2 |
1 | 36 | — | 18 | 2 |
1 | 18 | — | 9 | 2 |
0 | 8 | — | 4 | 2 |
1 | 4 | — | 2 | 2 |
0 | 2 | 1 | ||
0 |
Полученные остатки записываем в обратном порядке, таким образом:
Подробнее о том, как переводить числа из десятичной системы в двоичную, смотрите здесь.
Перевод чисел в различные системы счисления с решением
Исходное число записано в -ой системе счисления.
Хочу получить запись числа в -ой системе счисления.
Системы счисления
Системы счисления делятся на два типа: позиционные и не позиционные. Мы пользуемся арабской системой, она является позиционной, а есть ещё римская − она как раз не позиционная. В позиционных системах положение цифры в числе однозначно определяет значение этого числа. Это легко понять, рассмотрев на примере какого-нибудь числа.
Пример 1. Возьмём число 5921 в десятичной системе счисления. Пронумеруем число справа налево начиная с нуля:
Число: | 5 | 9 | 2 | 1 |
Позиция: | 3 | 2 | 1 | 0 |
Пример 2. Рассмотрим вещественное десятичное число 1234.567. Пронумеруем его начиная с нулевой позиции числа от десятичной точки влево и вправо:
Число: | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Позиция: | 3 | 2 | 1 | 0 | -1 | -2 | -3 |
Перевод чисел из одной системы счисления в другую
Наиболее простым способом перевода числа с одной системы счисления в другую, является перевод числа сначала в десятичную систему счисления, а затем, полученного результата в требуемую систему счисления.
Перевод чисел из любой системы счисления в десятичную систему счисления
Для перевода числа из любой системы счисления в десятичную достаточно пронумеровать его разряды, начиная с нулевого (разряд слева от десятичной точки) аналогично примерам 1 или 2. Найдём сумму произведений цифр числа на основание системы счисления в степени позиции этой цифры:
Перевод чисел из десятичной системы счисления в другую систему счисления
Для перевода чисел из десятичной системы счисления в другую систему счисления целую и дробную части числа нужно переводить отдельно.
Перевод целой части числа из десятичной системы счисления в другую систему счисления
Целая часть переводится из десятичной системы счисления в другую систему счисления с помощью последовательного деления целой части числа на основание системы счисления до получения целого остатка, меньшего основания системы счисления. Результатом перевода будет являться запись из остатков, начиная с последнего.
Рассмотрим перевод правильных десятичных дробей в различные системы счисления.
Перевод дробной части числа из десятичной системы счисления в другую систему счисления
Напомним, правильной десятичной дробью называется вещественное число с нулевой целой частью. Чтобы перевести такое число в систему счисления с основанием N нужно последовательно умножать число на N до тех пор, пока дробная часть не обнулится или же не будет получено требуемое количество разрядов. Если при умножении получается число с целой частью, отличное от нуля, то целая часть дальше не учитывается, так как последовательно заносится в результат.
Programforyou — это сообщество, в котором Вы можете подтянуть свои знания по программированию, узнать, как эффективно решать те или иные задачи, а также воспользоваться нашими онлайн сервисами.
Перевод чисел из одной системы счисления в другую
Данный конвертер переводит числа между наиболее популярными системами счисления: десятичной, двоичной, восьмеричной, шестнадцатеричной.
Существуют и другие системы счисления, но мы не стали включать их в конвертер из-за низкой популярности.
Для указания системы счисления при записи числа используется нижний индекс, который ставится после числа:
20010 = 110010002 = 3108 = C816
Кратко об основных системах счисления
Десятичная система счисления. Используется в повседневной жизни и является самой распространенной. Все числа, которые нас окружают представлены в этой системе. В каждом разряде такого числа может использоваться только одна цифра от 0 до 9.
Двоичная система счисления. Используется в вычислительной технике. Для записи числа используются цифры 0 и 1.
Восьмеричная система счисления. Также иногда применяется в цифровой технике. Для записи числа используются цифры от 0 до 7.
Перевод в десятичную систему счисления
Перевод из десятичной системы счисления в другие
Делим десятичное число на основание системы, в которую хотим перевести и записываем остатки от деления. Запишем полученные остатки в обратном порядке и получим искомое число.
Переведем число 37510 в восьмеричную систему:
Перевод из двоичной системы в восьмеричную
Так же как и в первом способе разбиваем число на группы. Но вместо преобразований в скобках просто заменим полученные группы (триады) на соответствующие цифры восьмеричной системы, используя таблицу триад:
Перевод из двоичной системы в шестнадцатеричную
Также как и в первом способе разбиваем число на группы по 4 цифры. Заменим полученные группы (тетрады) на соответствующие цифры шестнадцатеричной системы, используя таблицу тетрад:
Тетрада | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Цифра | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
Перевод из восьмеричной системы в двоичную
Каждый разряд восьмеричного числа будем делить на 2 и записывать остатки в обратном порядке, формируя группы по 3 разряда двоичного числа. Если в группе получилось меньше 3 разрядов, тогда дополняем нулями. Записываем все группы по порядку, отбрасываем ведущие нули, если имеются, и получаем двоичное число.
Используем таблицу триад:
Каждую цифру исходного восьмеричного числа заменяется на соответствующие триады. Ведущие нули самой первой триады отбрасываются.
Перевод из шестнадцатеричной системы в двоичную
Аналогично переводу из восьмеричной в двоичную, только группы по 4 разряда.
Используем таблицу тетрад:
Цифра | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Тетрада | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
Каждую цифру исходного числа заменяется на соответствующие тетрады. Ведущие нули самой первой тетрады отбрасываются.
Перевод из восьмеричной системы в шестнадцатеричную и наоборот
Такую конвертацию можно осуществить через промежуточное десятичное или двоичное число. То есть исходное число сначала перевести в десятичное (или двоичное), и затем полученный результат перевести в конечную систему счисления.
Двоичный калькулятор онлайн
Данный калькулятор может производить следующие действия над двоичными числами:
Сложение двоичных чисел
Сложение двух двоичных чисел производится столбиком поразрядно. Начиная с младшего разряда (справа на лево), как и при сложении столбиком десятичных чисел. Но так как цифр всего две (0 и 1), их сложение происходит по следующим правилам:
Пример
Для примера сложим 1011 и 101:
+ | 1 | 0 | 1 | 1 |
1 | 0 | 1 | ||
1 | 0 | 0 | 0 | 0 |
Вычитание двоичных чисел
Вычитание двоичных чисел производится аналогично сложению – столбиком, но по следующим правилам:
Пример
Для примера вычтем из числа 1011 число 101:
− | 1 | 0 | 1 | 1 |
1 | 0 | 1 | ||
1 | 1 | 0 |
Умножение двоичных чисел
Умножение двоичных чисел производится в столбик аналогично умножению в десятичной системе, но по следующим правилам:
Пример
Для примера перемножим числа 1011 и 101:
× | 1 | 0 | 1 | 1 | |
1 | 0 | 1 | |||
+ | 1 | 0 | 1 | 1 | |
0 | 0 | 0 | 0 | ||
1 | 0 | 1 | 1 | ||
1 | 1 | 0 | 1 | 1 | 1 |
Деление двоичных чисел
Внешне деление двоичных чисел похоже на деление десятичных чисел, но тут есть свои нюансы: такое деление производится вычитанием делителя со сдвигом вправо, если остаток больше нуля. Чтобы понять этот процесс рассмотрим пример:
100101100
Вам никогда это не пригодится, разве что для кадрения пацанов/девчонок и на олимпиаде по математике/информатике.
Хочу представить вам самый простой способ перевода чисел из двоичной системы счисления в десятиричную и обратно. Стандартные решения предполагают математические вычисления, я же предложу простую схему даже для гуманитарного мозга.
Всё что нам надо, запомнить это степени двойки до определённого числа. Это не так сложно, любая следующая степень двойки, это просто текущая умножить на 2, что логично. Предположим, что у нас есть степени двойки в таблице типа
| 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
всё просто
2 в степени 0 == 1,
2 в степени 1 == 2,
2 в степени 2 == 4
итп.
По факту мы просто рисуем в голове (или на салфетке) таблицу со степенями двойки в обратном порядке.
Предположим, что нам надо перевести число «отсоси у программиста» (300) в двоичную систему исчисления. Всё что нам для этого надо — последовательно вычитать из нашего числа максимальную степерь двойки. Какая максимальная степень двойки для числа 300? Считаем. 1, 2, 4, 8, 16, 32, 64, 128, 256, 512. 512 больше 300, 256 меньше. Значит первое значение — 256 (2 в степени 8). Рисуем в голове табличку степени 2 до 256 и ставим напротив 256 единицу, как максимальный множитель.
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
и вычитаем его из нашего числа, т.е. из 300. 300-256 == 44. Далее по циклу, получив новое число, мы ищем максимальную степень двойки для него. 44 больше 32, но меньше 64. Значит максимальная степень 32, пишем:
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
т.е. 300 в двоичной системе, это 100101100.
Переводить двоичное число обратно ещё проще. Считаем количество символов — получаем максимальную степень двойки минус один. Скажем, число 100101100 имеет 9 знаков, значит максимальная степень двойки — 8 (нулевая степень не считается). Опять же, рисуем табличку нашего числа и соответстсвия степеней:
1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
И всё что нам остаётся сделать — посчитать сумму числе (степени двойки), для которых в нашей таблице получились единицы. В нашем случае, это 256, 32, 8, 4. Итого 300.
Общее правило — табличка степеней двойки, от неё и пляшем. Для перевода десятиричного числа в двоичное, вычитаем из него максимальную возможную степень и ставим 1. И обратно, для двоичного числа суммируем все степени двойки, для которых в двоичном числе соответствуют единицы.
p.s. хаки. Если десятиричное число ниже на 1, чем максимальная степень двойки, то это заведомо все единицы степени двойки до нашей максимальной степени. Например 255 это
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Т.е. 011111111, т.е. 11111111
Успехов!