два в двоичном коде
Перевод чисел из одной системы счисления в другую
Данный конвертер переводит числа между наиболее популярными системами счисления: десятичной, двоичной, восьмеричной, шестнадцатеричной.
Существуют и другие системы счисления, но мы не стали включать их в конвертер из-за низкой популярности.
Для указания системы счисления при записи числа используется нижний индекс, который ставится после числа:
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 |
Каждую цифру исходного числа заменяется на соответствующие тетрады. Ведущие нули самой первой тетрады отбрасываются.
Перевод из восьмеричной системы в шестнадцатеричную и наоборот
Такую конвертацию можно осуществить через промежуточное десятичное или двоичное число. То есть исходное число сначала перевести в десятичное (или двоичное), и затем полученный результат перевести в конечную систему счисления.
Перевод из десятичной системы счисления в двоичную
Перед тем как перейти к алгоритму перевода, вспомним алфавит двоичной и десятичной системы счисления:
Основание | Название | Алфавит |
---|---|---|
2 | Двоичная | 0, 1 |
10 | Десятичная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
Для перевода чисел из десятичной системы в двоичную, воспользуемся соответствующим алгоритмом. Важно заметить, что алгоритм перевода целых и дробных чисел будет отличаться.
Алгоритм перевода целых десятичных чисел в двоичную систему счисления
Пример 1 : перевести десятичное число 123 в двоичную систему счисления
Для наглядности произведем деление «столбиком». Решение будет выглядеть следующим образом:
Исходя из вышеприведенного алгоритма, полученные остатки необходимо записать в обратном порядке.
Алгоритм перевода десятичной дроби в двоичную систему
Пример 2: перевести число 0,123 в двоичную систему.
Решение будет выглядеть следующим образом:
0.123 ∙ 2 = 0.246 (0)
0.246 ∙ 2 = 0.492 (0)
0.492 ∙ 2 = 0.984 (0)
0.984 ∙ 2 = 1.968 (1)
0.968 ∙ 2 = 1.936 (1)
0.936 ∙ 2 = 1.872 (1)
0.872 ∙ 2 = 1.744 (1)
0.744 ∙ 2 = 1.488 (1)
0.488 ∙ 2 = 0.976 (0)
0.976 ∙ 2 = 1.952 (1)
0.952 ∙ 2 = 1.904 (1)
В данном примере можно продолжить вычисления, но зачастую, такой точности будет достаточно.
Перевод дробного десятичного числа в двоичную систему
Для того чтобы перевести десятичное число, содержащее дробную часть, необходимо отдельно перевести целую часть и отдельно дробную.
Пример 3: перевести число 110,625 из десятичной системы в двоичную
Для решения примера потребуется отдельно перевести 110 и отдельно 0,625 из десятичной системы в двоичную, используя вышеизложенные алгоритмы. Таким образом переведя 110, получим:
Перевод десятичной дроби 0,625 выглядит так:
0.625 ∙ 2 = 1.25 (1)
0.25 ∙ 2 = 0.5 (0)
0.5 ∙ 2 = 1 (1)
Теперь осталось соединить результаты перевода. Таким образом: 110.62510=1101110.1012
Обратите внимание, что данный пример наглядно демонстрирует ситуацию, при которой дробная часть стала равной 0 и дальнейшее вычисление закончилось.
Двоичная система для чайников
Я решил сделать серию постов по информатике для чайников.
Если первый пост пойдёт хорошо, то будет еще несколько в том же духе.
Чтобы провести хирургическую операцию, анатомию знать не обязательно, но вот результаты будут непредсказуемы. Точно так же, чтобы программировать, не обязательно знать, как компьютер устроен изнутри, но иногда такое незнание может привести к душераздирающим последствиям.
Основа основ современного компьютера – ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ (2-СС). Звучит угрожающе. Чтобы понять, что такое ДСС, и научиться с ней работать, надо уметь складывать, умножать и возводить числа в степень. Ок, даю шпаргалку.
Пусть у нас есть какое-то число. Допустим, 5. И мы хотим прибавить к нему другое число. Допустим, 3. Как нам это сделать? Давайте, представим число 5 как пять палочек:
А число 3 как три палочки:
Чтобы сложить их, сначала нарисуем пять палочек, потом допишем к ним еще три:
Теперь пересчитаем – получилось 8.
Зря смеётесь! Когда считаем палочками – в Википедии это называется (ВНИМАНИЕ! НЕНОРМОТИВНАЯ ЛЕКСИКА!) «Единичная непозиционная система счисления с единичным весовым коэффициентом». Ну, или попросту будем называть УНАРНАЯ СИСТЕМА СЧИСЛЕНИЯ (1-СС).
В обычной жизни мы (люди) пользуемся ДЕСЯТЕРИЧНОЙ СИСТЕМОЙ СЧИСЛЕНИЯ (10-СС). Она так называется, потому что у нас есть десять цифр. К тому же, она еще и ПОЗИЦИОННАЯ, что означает, что значение (вес) цифры зависит от её положения в записи числа, например, в числах 2, 21 и 211 цифра 2 означает, соответственно, единицы, десятки и сотни.
Десятичная система счисления
Как мы складываем в 10-СС? Например, столбиком:
Сначала складываем единицы: 2+9 = 11, т.е. при сложении двух единичных чиселок появился новый десяток. Ясное дело, что из них может появиться только один десяток, потому что самое большое, что можно сложить – это 9+9 = 18. Таким образом, разбиваем сложение на кусочки: вместо 12+99 мы делаем 2+9 + 10+90, т.е. единицы и десятки (а потом и сотни) складываем отдельно друг от друга:
12 + 99 = [разобьем на разряды]
= (2+9) + (10+90) = [сложим первые разряды]
= 11 + (10+90) = [снова разобьем на десятки и единицы]
= (1 + 10) + (10 + 90) = [снова перегруппируем, чтобы отделить десятки от единиц]
= 1 + (10 + 10 + 90) = [сложим десятки]
= 1 + (110) = [разобьем на сотни и десятки]
Ясно, что получится 111, но давайте остановимся и посмотрим на эту полученную форму записи:
Фишка в том, что любое число можно представить как сумму отдельно единиц, отдельно десятков, сотен и т.д., например:
564 = 500 + 60 + 4, 7031 = 7000 + 000 + 30 + 1
Особенность такой записи в том, что мы видим во всех разрядах одну значащую цифру (первую), все следующие за ней цифры – это нули. Запомните этот момент – это важно.
При этом вместо того, чтобы писать 1000, мы можем написать 10^3 (т.е. десять в третьей степени, что можно расшифровать как 10*10*10).
7000 = 7*1000 = 7 * 10^3
А всё число 7031 можно расписать так:
7031 = 7*10^3 + 0*10^2 + 3*10^1 + 1*10^0
Напомню, что любое число в нулевой степени даёт единицу, и 10^0 = 1, а любое число в первой степени даёт само себя 10^1 = 10. Еще напомню, что любое число умноженное на 0 даёт 0, т.е. 0*10^2 = 0.
Так вот, наша система счисления называется десятичной именно благодаря этой десятке, которую в степень возводим.
Краткое отступление. Дорогие мои! Не путайте числа и цифры! Путать цифры и числа – это как путать буквы и звуки. Цифра – это просто символ для записи чисел. А число – это абстрактная величина, обычно означающее количество чего-нибудь. Думаю, все поняли. 🙂
Двоичная система счисления
Теперь, поговорим о 2-СС. Её особенность в том, что в ней есть всего 2 символа для записи чисел: 0 и 1. Что интересно, при этом любое число, которое можно записать в 10-СС, так же можно записать и в 2-СС, и даже в 1-СС!
Двоичная система тоже позиционная и отличается от десятичной тем, что в ней вместо 10 в степень возводится двойка, например, число двоичное число 101101 можно прочитать так:
101101= 1*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
= 32 + 0 + 8 + 4 + 0 + 1 = 45 (это уже в десятичной системе)
Теперь давайте поскладываем в двоичной системе.
Начнём с простого: 0+0 = 0, 1+0 = 1, 0+1 = 1
Ничего удивительного, в 10-СС это точно так же выглядит.
Теперь посложнее: 1 + 1 = 10
А вот никакие не ДЕСЯТЬ! Это число ДВА. Просто в двоичной записи.
Нет. Это не десять плюс один! Это два плюс один! В 10-СС это выглядит так: 2 + 1 = 3, а в 1-СС так: || + | = |||. Ясно –понятно?
Хм… сложновато? Давайте упростим! По той же схеме, что и 12 + 99. Не забываем, что всё это в двоичной системе!
11 + 1 = [разобьем на разряды]
= (10 + 1) + 1 = [перегруппируем]
= 10 + (1 + 1) = [О! “1+1” складывать умеем!]
= 10 + 10 = [ну, здесь просто сначала игнорируем нули, складываем 1+1 и потом приписываем 0 к результату]
Ну, сколько можно. Это не СТО. Если то же самое записать в 10-СС, то получим: 3 + 1 = 4. Т.е. это 100 в записи 2-СС – это ЧЕТЫРЕ.
Ну, и для закрепления материала сложим в 2-СС:
= (1000 + 100 + 00 + 1) + (1000 + 000 + 00 + 1)
= (1000 + 1000) + (100 + 000) + (00 + 00) + (1 + 1)
= (10000) + (100) + (00) + (10)
= (10000) + (100) + (00 + 10)
А по-русски: 13 + 9 = 22
Дубликаты не найдены
Большое спасибо! Очень хорошо объяснили. Всё понял.
Берем калькулятор и перемножая двойку саму на себя подбираем максимально близкое (но меньшее 85) число
Повторяем операцию для 21
Ближайшее 16, или 2 в 4 степени
Ближайшее 4, или 2^2
1, или 2 в степени 0.
Теперь собираем наше число, проставляя единицу для той степени двойки, которая у нас встретилась (т.е. 2^6 2^4 2^2 2^0) и нуль для той степени, которая не встрети лась (2^5 2^3 2^1)
2^6 2^5 2^4 2^3 2^2 2^1 2^0
спасибо, оч доступно)
Вот этот абзац объясняет принцип записи:
——
Двоичная система тоже позиционная и отличается от десятичной тем, что в ней вместо 10 в степень возводится двойка, например, число двоичное число 101101 можно прочитать так:
101101= 1*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
= 32 + 0 + 8 + 4 + 0 + 1 = 45 (это уже в десятичной системе)
——
Можете в качестве обратной связи рассказать, что именно здесь не ясно? 🙂
«не хватает перевода из десятичной в двоичную»
Да, я уже осознал этот изъян и подготовил пост про перевод из десятичной в двоичную. Завтра выложу. 🙂
«и остальных операций двоичной арифметики»
Мне показалось, что для чайников это сложновато уже. Мне лично как программисту крайне редко приходится делать с двоичным кодом что-то из арифметики, кроме сложения.
= 10 + 10 = [ну, здесь просто сначала игнорируем нули, складываем 1+1 и потом приписываем 0 к результату]= 100 «
и еще «= (1000 + 1000) + (100 + 000) + (00 + 00) + (1 + 1)
поделитесь, пожалуйста, еще постами по информатике если есть
А вот никакие не ДЕСЯТЬ! Это число ДВА. Просто в двоичной записи. И дальше нет объяснения почему и как. Естественно дальше идут примеры сложнее, но т.к. этот простой непонятен. Дальше залазить в дебри
А теперь слушайте домашнее задание: построить синхрофазотрон.
Да просто.
6 = 1х2^2 +1х 2^1 + 0х2^0 = 110
7 = 1х2^2 + 1×2^1 + 1×2^0 = 111
7 = 4 +3 +1 = 100 + 010 + 001
Теперь посложнее: 1 + 1 = 10
Ой! Почему десять.
А вот никакие не ДЕСЯТЬ! Это число ДВА. Просто в двоичной записи.
Я тебя разочарую, но это десять и есть.
Ну, мы числа называем в десятичной системе, поэтому в простых случаях двоичное число переводят в десятичную в уме и так читают. 🙂
Ну ты же не называешь число В в HEX «одиннадцать», хотя оно именно 11?
Ну, и «B» я прочитаю как «одиннадцать» или как «бэ» в зависимости от контекста 🙂
Ну да. Но у тебя в этой системе уже есть 11, и в десятичной это 17. Не путаешься?
«Но у тебя в этой системе уже есть 11, и в десятичной это 17. Не путаешься?»
Не очень понял вопрос. Что с чем я должен путать, по-твоему?
«Ну а в двоичной системе, по которой ты строишь счет, понятия «два» не существует.»
Я утверждаю, что у многих чисел есть названия. И так сложилось исторически, что эти названия даны в десятичной системе.
Например, если я в унарной системе запишу:
111 + 1111 = 1111111
Я буду читать «три плюс четыре равно семь», а не «сто одиннадцать плюс тысяча сто одиннадцать равно один миллион сто тысяч. «.
Ты называл число В как 11, не смотря на то, что у тебя есть в этой же системе 11, эквивалентное десятичной 17.
Сбивает с толку? Да не больше, чем её графическая запись.
если с двоичной системы такие названия к проблемам восприятия могут и не привести, то в шестнадцатеричной точно будет путаница.
Держи мое объяснение:
Когда ты считаешь до десяти, у тебя в какой-то момент кончаются названия чисел и тебе приходится комбинировать названия, чтобы считать больше 9. Например:
Ну а в двоичной системе цифры кончаются уже после 1, так и живем:
Как ты понимаешь, от того, как мы назвали количество, само количество от этого не изменилось, изменился только способ счета.
Кстати цифровая схемотехника основана на двоичной системе счисления. На основных законах булевой алгебры. 1+1=1 1+0=1 1*1=1 1*1=0
Неправильные примеры. Да и как такового знака + и * в булевой алгебре нет
На самом деле все еще проще.
нет есть способ проще, всмысле рассказать
Нейронные сети. Формулы обратного распространения
Представляем заключительную лекцию из курса по нейронным сетям от 3blue1brown. В этой лекции речь пойдет о формулах обратного распространения. Одной из важных тем, которая позволит разобраться с основными моментами дифференцирования сложных функций в контексте сетей.
Благодарим за создание выпуска:
Переводчика – Федора Труфанова;
Редактора – Михаила Коротеева;
Диктора – Никифора Стасова;
Монтажера – Олега Жданова
Нейронные сети. Обратное распространение ошибки
Привет, Лига образования!
Мы продолжаем переводить легендарный курс по нейросетям от 3blue1brown.
В предыдущей лекции мы узнали о градиентном спуске. Сегодня речь пойдет о методе обратного распространения — главном алгоритме обучения нейронных сетей.
Благодарим за создание выпуска:
Редактора – Михаила Коротеева;
Диктора – Никифора Стасова;
Монтажера – Олега Жданова
И бонус в комментариях, английский!
Нейронные сети. Градиентный спуск: как учатся нейронные сети
Обучение — сложный процесс не только для человека, но и для сущностей, порожденных разумом человека.
Мы подготовили долгожданное продолжение лекций по нейросетям. Градиентный спуск: как учатся нейронные сети.
Благодарим за участие в выпуске:
Редакторов – Дмитрия Титова, Михаила Коротеева, Дмитрия Мирошниченко;
Корректора – Дмитрия Мирошниченко;
Дикторов – Никифора Стасова, Дарью Яговкину;
Монтажера – Олега Жданова.
Разговор о системах счисления:
— Программист подарил своей женщине 5 роз, сказав «эта 101 роза тебе» (двоичная). Пещерный человек, подарил бы три розы, сказав «бери эти 111 роз» (унарная).
— То есть неандертальца от программиста отличает всего лишь ноль?
— Ну вообще введение 0 было огромным шагом для математики. Можно сказать первый мощный шаг к абстрактному мышлению. Так что в какой-то степени да, «0» — это переходная ступень между неандертальцем и программистом.
Нейронные сети. Просто о сложном
Привет, Пикабу. Сегодня у нас кое-что действительно классное для Лиги образования.
Мы договорились о переводе и озвучке с автором самых крутых на Youtube видео про математику-информатику-физику.
И наша первая озвучка — видео о том, что же такое нейросети.
За это отличную озвучку мы благодарим Александра Колдаева.
Если хочешь поучаствовать в переводе или озвучке — напиши нам в вк, телеграм или facebook.
Карты наук
Выше был их автор. А вот и одна из его карт (по физике):
О карте, нарисованной выше, Dominic подробно рассказал в следующем видео. Он рассказал о ранней физике, об Эйнштейне и его теориях специальной и общей относительности, и о подвидах квантовой физики.
Кстати говоря, помимо карт наук, на его странице во flickr есть интересные постеры о том, как мы уже сейчас используем квантовые технологии.
Все его видео по картам наук публикуются в следующем плейлисте: https://www.youtube.com/playlist?list=PLOYRlicwLG3St5aEm02nc.
Они на английском, но уже есть и переводы.
Вот, например, по Computer Science:
А вот по математике:
Спасибо за внимание!
За день до экзамена
Ну, может и не сильно-то ждёт. Ну да ладно, всё равно любит. Наверное.
Двоичная система счисления
Двоичная система — это один из видов позиционных систем счисления. Основание данной системы равно двум, то есть используется только два символа для записи чисел.
Немного истории
Впервые о данной системе чисел заговорил основоположник математического анализа Г.В. Лейбниц еще в XVII веке. Он доказал, что для данного множества действуют все арифметические операции: сложение, вычитание, умножение и даже деление. Однако вплоть до 30-х годов XX века данную систему не рассматривали всерьез. Но с развитием электронных устройств и ЭВМ, ученые вновь принялись к изучению данной темы, так как двоичная система отлично подходила для программирования и организации хранения данных в памяти компьютеров.
Таблица и алфавит
Кроме того, двоичная система является самой удобной для быстрого перевода в другие системы счисления.
1001102 = 1 ∙ 2 5 + 0 ∙ 2 4 + 0 ∙ 2 3 + 1 ∙ 2 2 + 1 ∙ 2 2 + 0 ∙ 2 0 = 32 + 0 + 0 + 4 + 2 + 0 = 3810
Чтобы наоборот перевести число в двоичную из десятичной, необходимо выполнить его деление на 2 с остатком, а затем записать все остатки в обратном порядке, начиная с частного:
Делимое | 38 | 19 | 9 | 4 | 2 |
---|---|---|---|---|---|
Делитель | 2 | 2 | 2 | 2 | 2 |
Частное | 19 | 9 | 4 | 2 | 1 |
Остаток | 0 | 1 | 1 | 0 | 0 |
Для перевода в другие системы необходимо:
Однако можно воспользоваться и более быстрым и удобным способом: разделить знаки двоичного числа на условные группы слева на право (для восьмеричной — по 3 знака; для шестнадцатеричной — по 4 знака), а затем воспользоваться таблицей перевода:
Двоичная | Восьмеричная | Шестнадцатеричная |
---|---|---|
0 | 0 | 0 |
001 | 1 | 1 |
010 | 2 | 2 |
011 | 3 | 3 |
100 | 4 | 4 |
101 | 5 | 5 |
110 | 6 | 6 |
111 | 7 | 7 |
1000 | 8 | |
1001 | 9 | |
1010 | A | |
1011 | B | |
1100 | C | |
1101 | D | |
1110 | E | |
1111 | F |
110010012 = 11 001 001 = 011 001 001 = 3118
110010012 = 1100 1001 = С916
Представление двоичных чисел
В двоичной системе также существует понятие «отрицательных» чисел. И для того, чтобы провести какую-либо операцию с ними в двоичном коде, необходимо представить его в виде дополнительного кода. Запись положительного числа при этом не меняется ни для одного из кодов.
Чтобы найти дополнительный код отрицательного числа, необходимо воспользоваться его прямым и дополнительным кодами.
Прямой код предполагает приписывание единицы в начале без изменений записи:
A > 0 | Aпр = 0A | 1010112; Aпр = 01010112 |
A ≤ 0 | Aпр = 1|A| | -1010112; Aпр = 11010112 |
Для записи обратного кода цифры заменяют на противоположное значение, первую единицу от прямого кода оставляют без изменений:
A > 0 | Aобр = 0A | 1010112; Aобр = 01010112 |
A ≤ 0 | Aобр = 1 A | -1010112; Aобр = 10101002 |
Дополнительный код предполагает использование обратного кода, с той лишь разницей, что к отрицательному числу прибавляют единицу:
A > 0 | Aдоп = 0A | 1010112; Aдоп = 01010112 |
A ≤ 0 | Aдоп = 1 A + 1 | -1010112; Aдоп = 10101012 |
Применение двоичной системы в информатике
Двоичная система получила особое распространение в программировании цифровых устройств, так как она соответствует требованиям многих технических устройств, поддерживающих два состояния (есть ток, нет тока). Кроме того, является более простой и надежной для кодирования информации. Именно поэтому программный код большей части ЭВМ основан именно на двоичной системе счисления.