Как сделать двоичную систему счисления
Системы счисления. Перевод из одной системы в другую.
1. Порядковый счет в различных системах счисления.
В современной жизни мы используем позиционные системы счисления, то есть системы, в которых число, обозначаемое цифрой, зависит от положения цифры в записи числа. Поэтому в дальнейшем мы будем говорить только о них, опуская термин «позиционные».
Для того чтобы научиться переводить числа из одной системы в другую, поймем, как происходит последовательная запись чисел на примере десятичной системы.
Поскольку у нас десятичная система счисления, мы имеем 10 символов (цифр) для построения чисел. Начинаем порядковый счет: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Цифры закончились. Мы увеличиваем разрядность числа и обнуляем младший разряд: 10. Затем опять увеличиваем младший разряд, пока не закончатся все цифры: 11, 12, 13, 14, 15, 16, 17, 18, 19. Увеличиваем старший разряд на 1 и обнуляем младший: 20. Когда мы используем все цифры для обоих разрядов (получим число 99), опять увеличиваем разрядность числа и обнуляем имеющиеся разряды: 100. И так далее.
Попробуем сделать то же самое в 2-ной, 3-ной и 5-ной системах (введем обозначение для 2-ной системы, для 3-ной и т.д.):
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 10 | 3 |
4 | 100 | 11 | 4 |
5 | 101 | 12 | 10 |
6 | 110 | 20 | 11 |
7 | 111 | 21 | 12 |
8 | 1000 | 22 | 13 |
9 | 1001 | 100 | 14 |
10 | 1010 | 101 | 20 |
11 | 1011 | 102 | 21 |
12 | 1100 | 110 | 22 |
13 | 1101 | 111 | 23 |
14 | 1110 | 112 | 24 |
15 | 1111 | 120 | 30 |
Если система счисления имеет основание больше 10, то нам придется вводить дополнительные символы, принято вводить буквы латинского алфавита. Например, для 12-ричной системы кроме десяти цифр нам понадобятся две буквы ( и ):
0 | 0 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
10 | |
11 | |
12 | 10 |
13 | 11 |
14 | 12 |
15 | 13 |
2.Перевод из десятичной системы счисления в любую другую.
Чтобы перевести целое положительное десятичное число в систему счисления с другим основанием, нужно это число разделить на основание. Полученное частное снова разделить на основание, и дальше до тех пор, пока частное не окажется меньше основания. В результате записать в одну строку последнее частное и все остатки, начиная с последнего.
Пример 1. Переведем десятичное число 46 в двоичную систему счисления.
Пример 2. Переведем десятичное число 672 в восьмеричную систему счисления.
Пример 3. Переведем десятичное число 934 в шестнадцатеричную систему счисления.
3. Перевод из любой системы счисления в десятичную.
Для того, чтобы научиться переводить числа из любой другой системы в десятичную, проанализируем привычную нам запись десятичного числа.
Например, десятичное число 325 – это 5 единиц, 2 десятка и 3 сотни, т.е.
Точно так же обстоит дело и в других системах счисления, только умножать будем не на 10, 100 и пр., а на степени основания системы счисления. Для примера возьмем число 1201 в троичной системе счисления. Пронумеруем разряды справа налево начиная с нуля и представим наше число как сумму произведений цифры на тройку в степени разряда числа:
Это и есть десятичная запись нашего числа, т.е.
Пример 4. Переведем в десятичную систему счисления восьмеричное число 511.
Пример 5. Переведем в десятичную систему счисления шестнадцатеричное число 1151.
4. Перевод из двоичной системы в систему с основанием «степень двойки» (4, 8, 16 и т.д.).
Для преобразования двоичного числа в число с основанием «степень двойки» необходимо двоичную последовательность разбить на группы по количеству цифр равному степени справа налево и каждую группу заменить соответствующей цифрой новой системы счисления.
Например, Переведем двоичное 1100001111010110 число в восьмеричную систему. Для этого разобьем его на группы по 3 символа начиная справа (т.к. ), а затем воспользуемся таблицей соответствия и заменим каждую группу на новую цифру:
Таблицу соответствия мы научились строить в п.1.
0 | 0 |
1 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
Пример 6. Переведем двоичное 1100001111010110 число в шестнадцатеричную систему.
0 | 0 |
1 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
5.Перевод из системы с основанием «степень двойки» (4, 8, 16 и т.д.) в двоичную.
Этот перевод аналогичен предыдущему, выполненному в обратную сторону: каждую цифру мы заменяем группой цифр в двоичной системе из таблицы соответствия.
Пример 7. Переведем шестнадцатеричное число С3A6 в двоичную систему счисления.
Для этого каждую цифру числа заменим группой из 4 цифр (т.к. ) из таблицы соответствия, дополнив при необходимости группу нулями вначале:
Двоичная система для чайников
Я решил сделать серию постов по информатике для чайников.
Если первый пост пойдёт хорошо, то будет еще несколько в том же духе.
Чтобы провести хирургическую операцию, анатомию знать не обязательно, но вот результаты будут непредсказуемы. Точно так же, чтобы программировать, не обязательно знать, как компьютер устроен изнутри, но иногда такое незнание может привести к душераздирающим последствиям.
Основа основ современного компьютера – ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ (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:
А вот по математике:
Спасибо за внимание!
За день до экзамена
Ну, может и не сильно-то ждёт. Ну да ладно, всё равно любит. Наверное.