двоичный код язык программирования

Двоичное кодирование.

в Компьютеры 23.03.2020 0 184 Просмотров

Двоичное кодирование – это тип кода, используемый в основном для программирования компьютеров на самом базовом уровне. Он состоит из системы единиц и нулей, предназначенной для представления «истинного» или «ложного» значения в логических операциях. Двоичное кодирование было разработано Клодом Шеннаном в 1930-х годах с использованием переключателей.
Двоичные данные – это необработанные данные, которые используются почти на всех компьютерах, но большинство пользователей компьютеров не взаимодействуют с ними напрямую. Компьютер читает двоичный код и переводит его в данные, полезные для пользователя. Коды хранятся по-разному в зависимости от типа объекта. Например, коды могут храниться по напряжению, просто обозначая, включен ли объект, имеет ли он напряжение или выключен. CD-ROM используют темные пятна на блестящей поверхности для обозначения «истинных» или «ложных» значений, жёсткие диски используют магнетизм, а память использует электрический заряд.

двоичный код язык программирования. binary encoding. двоичный код язык программирования фото. двоичный код язык программирования-binary encoding. картинка двоичный код язык программирования. картинка binary encoding. в Компьютеры 23.03.2020 0 184 Просмотров

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

Например, два бита имеют четыре состояния. Оба могут быть выключены, оба могут быть включены, или один может быть выключен, и один может быть включен. В двоичном виде эти комбинации записываются как 00, 01, 10, 11. Количество состояний группы битов можно найти по выражению 2n, где n – количество битов.

Поскольку для каждого бита есть только два значения, с ними проще работать, чем с другими процессами компьютерного кодирования. Группы битов используются для представления различной информации. Байт часто представляет буквенный символ. Например, буква «А», записанная в двоичном виде – «01000001».

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

Источник

Как объяснять двоичную систему счисления

Кто-то только входит в IT-мир, кто-то объясняет информатику своему чаду.

Довольно быстро вы обнаружите, что не так-то просто объяснить, как работает двоичный счёт.

Это вам очевидно, что после 11 идёт 100, а новичку это ещё долго может быть непонятно.

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

Проблема

Важно отметить, что даже распиаренный курс Гарвардского университета по компьютерным наукам «CS50» не помогает.

двоичный код язык программирования. image loader. двоичный код язык программирования фото. двоичный код язык программирования-image loader. картинка двоичный код язык программирования. картинка image loader. в Компьютеры 23.03.2020 0 184 Просмотров

Парень из американского университета просто заявляет, что «нуль — это нуль», «один — это один», а потом идёт 10, а потом 11. Понятно? Думаю, нет. Вот спросите кого-то, кто не программист, а каким будет следующее число — высока вероятность, что он не сможет ответить. Слишком быстро проскочили идею о переносе разряда.

То же самое касается школьных методов перевода: во-первых, методы эти академически сухи, во-вторых, не интуитивны — например, не очевидно, почему после каскадного деления на 2 нужно ставить биты задом наперёд.

двоичный код язык программирования. image loader. двоичный код язык программирования фото. двоичный код язык программирования-image loader. картинка двоичный код язык программирования. картинка image loader. в Компьютеры 23.03.2020 0 184 Просмотров

А если непонятно, то и не интересно. А если нет интереса, то и запоминается с трудом.

Мы это всё учли, и решили сделать интересное и постепенное объяснение.

Что мы предлагаем

Сначала нужно объяснить, как вообще работает обычная десятичная система счисления — и про конечный «алфавит» цифр, и про идею переноса разряда. Так развивается понимание принципа «системы счисления».

двоичный код язык программирования. image loader. двоичный код язык программирования фото. двоичный код язык программирования-image loader. картинка двоичный код язык программирования. картинка image loader. в Компьютеры 23.03.2020 0 184 Просмотров

Только потом можно переходить к идее двоичной системы — и вот обучаемый уже медленно, но довольно уверенно говорит «1, 10, 11, 100».

Далее, мы решили попробовать совсем не школьный метод — объяснение двоичного счёта на пальцах: это когда загнутый палец это 0, а разогнутый это 1.

Я проверял это на подростках: показываешь им: «это 1, это 2, это 3 — теперь покажите мне 4». И весь класс сосредоточенно, медленно показывает средние пальцы. Отличницы в эсхатологическом восторге, задние парты тыкают друг другу в лицо и кричат «на тебе четвёрку!».

двоичный код язык программирования. image loader. двоичный код язык программирования фото. двоичный код язык программирования-image loader. картинка двоичный код язык программирования. картинка image loader. в Компьютеры 23.03.2020 0 184 Просмотров

Провокативно? Да. Запоминается? 100%.

Теперь, когда тема стала «своей», можно переходить к теме перевода чисел из одной системы счисления в другую — начать лучше с классического школьного сухого перевода (если честно, то больше чтобы постращать).

двоичный код язык программирования. image loader. двоичный код язык программирования фото. двоичный код язык программирования-image loader. картинка двоичный код язык программирования. картинка image loader. в Компьютеры 23.03.2020 0 184 Просмотров

А уже потом с помощью анимации объяснить идею перевода прямо на пальцах, и потом опять же на пальцах пересчитать число 132 в средние пальцы уже на обеих руках.

двоичный код язык программирования. image loader. двоичный код язык программирования фото. двоичный код язык программирования-image loader. картинка двоичный код язык программирования. картинка image loader. в Компьютеры 23.03.2020 0 184 Просмотров

На десерт показываем, где двоичная и 16-ричная системы применяется в реальной жизни.

Двоичная система — это например QR-коды вокруг нас.

двоичный код язык программирования. image loader. двоичный код язык программирования фото. двоичный код язык программирования-image loader. картинка двоичный код язык программирования. картинка image loader. в Компьютеры 23.03.2020 0 184 Просмотров

А 16-ричная система это в основном коды цветов в CSS и хеши разных стилей, от MD5 до UUID.

двоичный код язык программирования. image loader. двоичный код язык программирования фото. двоичный код язык программирования-image loader. картинка двоичный код язык программирования. картинка image loader. в Компьютеры 23.03.2020 0 184 Просмотров

Итак, вот весь пакет видео-уроков (они бесплатные, в Ютубе):

Источник

Можно ли программировать в двоичном коде?

название действительно говорит все это. Мой друг сказал мне, что знает кого-то, кто может программировать в двоичном коде. Я никогда не слышал о ком-то программировании в двоичном формате, и несколько быстрых поисков Google не вернули ничего полезного. Поэтому я решил обратиться к сообществу SO. У кого-нибудь есть информация о программировании в двоичном формате и, если возможно, быстрый пример Hello World. Спасибо заранее.

6 ответов

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

сделал бы я это? Нет. Даже сборка полезна только в редких случаях, и нет причин (помимо демонстрации ваших навыков) отклонять сборщик’ы помочь.

Так как вы спросили о hello world, вы должны проверить в этой статье. Он показывает, как он написал, а затем оптимизировал программу x86 ELF для ее вывода. Первоначально он был написан в в NASM изменить в hex редакторе.

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

двоичный код язык программирования. 20303b83915f179e37ef9117a638c71b. двоичный код язык программирования фото. двоичный код язык программирования-20303b83915f179e37ef9117a638c71b. картинка двоичный код язык программирования. картинка 20303b83915f179e37ef9117a638c71b. в Компьютеры 23.03.2020 0 184 Просмотров

предположим, что это 1988 год, и мы потратили почти десятилетие на портирование 8-битных видеоигр на разные платформы для жизни, и, следовательно, запомнили следующее 6502 код — инструкции это соответствует инструкциям по сборке:

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

на самом деле выше, является следующее ассемблерный код в мнемонической форме:

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

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

который помогает писать код в двоичном формате на лету:

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

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

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

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

для храбрых сердца: вы можете попробовать получить изображение mikeos floppy и запустить монитор.программа бин. Он позволяет вводить шестнадцатеричные опкоды вручную и выполнять их. Например (как указано в документах), введите следующие инструкции: BE0790 E8FD6F C3 4D00$ произведет одиночный M на экране. двоичный код язык программирования. 83301ad58dffedfe46e7587cab110e75. двоичный код язык программирования фото. двоичный код язык программирования-83301ad58dffedfe46e7587cab110e75. картинка двоичный код язык программирования. картинка 83301ad58dffedfe46e7587cab110e75. в Компьютеры 23.03.2020 0 184 Просмотров

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

У меня была очень короткая программа uudecoe, закодированная в ASCII, которая могла быть префиксом файла UUEncoded. Полученный файл будет самораспаковывающимся и может быть отправлен по электронной почте. Я ожидал, что машинный код был сделан вручную. Я не могу найти его, и он мне не нужен, даже если я мог.

есть некоторые эзотерические языки программирования. Они используются в качестве экспериментов и довольно непрактичны, но один, называемый BrainF**k (да, это действительно реальная вещь), использует восемь разных символов для изменения значений байтов. Эти языки настолько близки, насколько это возможно.

Источник

Двоичное счисление на пальцах

Все знают, что компьютеры состоят из единиц и нулей. Но что это значит на самом деле?

Если у вас в школе была информатика, не исключено, что там было упражнение на перевод обычных чисел в двоичную систему и обратно. Маловероятно, что кто-то вам объяснял практический смысл этой процедуры и откуда вообще берётся двоичное счисление. Давайте закроем этот разрыв.

Эта статья не имеет практической ценности — читайте её просто ради интереса к окружающему миру. Если нужны практические статьи, заходите в наш раздел «Где-то баг», там каждая статья — это практически применимый проект.

Отличный план

Чтобы объяснить всё это, нам понадобится несколько тезисов:

Система записи — это шифр

Если у нас есть девять коров, мы можем записать их как 🐄🐄🐄🐄🐄🐄🐄🐄🐄 или как 9 × 🐄.

Почему 9 означает «девять»? И почему вообще есть такое слово? Почему такое количество мы называем этим словом? Вопрос философский, и короткий ответ — нам нужно одинаково называть числа, чтобы друг друга понимать. Слово «девять», цифра 9, а также остальные слова — это шифр, который мы выучили в школе, чтобы друг с другом общаться.

Допустим, к нашему стаду прибиваются еще 🐄🐄🐄. Теперь у нас 🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄 — двенадцать коров, 12. Почему мы знаем, что 12 — это «двенадцать»? Потому что мы договорились так шифровать числа.

Нам очень легко расшифровывать записи типа 12, 1920, 100 500 и т. д. — мы к ним привыкли, мы учили это в школе. Но это шифр. 12 × 🐄 — это не то же самое, что 🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄🐄. Это некая абстракция, которой мы пользуемся, чтобы упростить себе счёт.

Мы привыкли шифровать десятью знаками

У нас есть знаки 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9 — всего десять знаков. Этим числом знаков мы шифруем количество единиц, десятков, сотен, тысяч и так далее.

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

Например, перед нами число 19 547. Мы знаем, что в нём есть:

Если приглядеться, то каждый следующий разряд числа показывает следующую степень десятки:

Нам удобно считать степенями десятки, потому что у нас по десять пальцев и мы с раннего детства научились считать до десяти.

Система записи — это условность

Представим бредовую ситуацию: у нас не 10 пальцев, а 6. И в школе нас учили считать не десятками, а шестёрками. И вместо привычных цифр мы бы использовали знаки ØABCDE. Ø — это по-нашему ноль, A — 1, B — 2, E — 5.

Вот как выглядели бы привычные нам цифры в этой бредовой системе счисления:

0 — Ø
1 — A
2 — B
3 — C
4 — D
5 — E
6 — AØ
7 — AA
8 — AB
9 — AC
10 — AD
11 — AE
12 — BØ
13 — BA
14 — BB
15 — BC
16 — BD
17 — BE
18 — CØ
19 — CA
20 — CB
21 — CC
22 — CD
23 — CE
24 — DØ
25 — DA
26 — DB
27 — DC
28 — DD
29 — DE
30 — EØ
31 — EA
32 — EB
33 — EC
34 — ED
35 — EE
36 — AØØ
37 — AØA
38 — AØB
39 — AØC
40 — AØD
41 — AØE

В этой системе мы считаем степенями шестёрки. Число ABADØ можно было бы перевести в привычную нам десятичную запись вот так:

A × 6 4 = 1 × 1296 = 1296

B × 6 3 = 2 × 216 = 432

1296 + 432 + 36 + 24 + 0 = 1788. В нашей десятичной системе это 1788, а у людей из параллельной вселенной это ABADØ, и это равноценно.

Выглядит бредово, но попробуйте вообразить, что у нас в сумме всего шесть пальцев. Каждый столбик — как раз шесть чисел. Очень легко считать в уме. Если бы нас с детства учили считать шестёрками, мы бы спокойно выучили этот способ и без проблем всё считали. А счёт десятками вызывал бы у нас искреннее недоумение: «Что за бред, считать числом AD? Гораздо удобнее считать от Ø до E!»

То, как мы шифруем и записываем числа, — это следствие многовековой традиции и физиологии. Вселенной, космосу, природе и стадам коров глубоко безразлично, что мы считаем степенями десятки. Природа не укладывается в эту нашу систему счёта.

Двоичная система (тоже нормальная)

Внутри компьютера работают транзисторы. У них нет знаков 0, 1, 2, 3… 9. Транзисторы могут быть только включёнными и выключенными — обозначим их 💡 и ⚫.

Мы можем научить компьютер шифровать наши числа этими транзисторами так же, как шестипалые люди шифровали наши числа буквами. Только у нас будет не 6 букв, а всего две: 💡 и ⚫. И выходит, что в каждом разряде будет стоять не число десяток в разной степени, не число шестёрок в разной степени, а число… двоек в разной степени. И так как у нас всего два знака, то получается, что мы можем обозначить либо наличие двойки в какой-то степени, либо отсутствие:

8 — 💡 ⚫⚫⚫
9 — 💡 ⚫⚫ 💡
10 — 💡 ⚫ 💡 ⚫
11 — 💡 ⚫ 💡 💡
12 — 💡 💡 ⚫⚫
13 — 💡 💡 ⚫ 💡
14 — 💡 💡 💡 ⚫
15 — 💡 💡 💡 💡16 — 💡 ⚫⚫⚫⚫
17 — 💡 ⚫⚫⚫ 💡
18 — 💡 ⚫⚫ 💡 ⚫
19 — 💡 ⚫⚫ 💡 💡
20 — 💡 ⚫ 💡 ⚫⚫
21 — 💡 ⚫ 💡 ⚫ 💡
21 — 💡 ⚫ 💡 💡 ⚫
23 — 💡 ⚫ 💡 💡 💡
24 — 💡 💡 ⚫⚫⚫
25 — 💡 💡 ⚫⚫ 💡
26 — 💡 💡 ⚫ 💡 ⚫
27 — 💡 💡 ⚫ 💡 💡
28 — 💡 💡 💡 ⚫⚫
29 — 💡 💡 💡 ⚫ 💡
30 — 💡 💡 💡 💡 ⚫
31 — 💡 💡 💡 💡 💡32 — 💡 ⚫⚫⚫⚫⚫
33 — 💡 ⚫⚫⚫⚫ 💡
34 — 💡 ⚫⚫⚫ 💡 ⚫
35 — 💡 ⚫⚫⚫ 💡 💡
36 — 💡 ⚫⚫ 💡 ⚫⚫
37 — 💡 ⚫⚫ 💡 ⚫ 💡
38 — 💡 ⚫⚫ 💡 💡 ⚫
39 — 💡 ⚫⚫ 💡 💡 💡
40 — 💡 ⚫ 💡 ⚫⚫⚫
41 — 💡 ⚫ 💡 ⚫⚫ 💡
42 — 💡 ⚫ 💡 ⚫ 💡 ⚫
43 — 💡 ⚫ 💡 ⚫ 💡 💡
44 — 💡 ⚫ 💡 💡 ⚫⚫
45 — 💡⚫💡💡⚫💡
46 — 💡⚫💡💡💡⚫
47 — 💡⚫💡💡💡💡
48 — 💡💡⚫⚫⚫⚫
49 — 💡💡⚫⚫⚫💡
50 — 💡💡⚫⚫💡⚫
51 — 💡💡⚫⚫💡💡
52 — 💡💡⚫💡⚫⚫
53 — 💡💡⚫💡⚫💡
54 — 💡💡⚫💡💡⚫
55 — 💡💡⚫💡💡💡
56 — 💡💡💡⚫⚫⚫
57 — 💡💡💡⚫⚫💡
58 — 💡💡💡⚫💡⚫
59 — 💡💡💡⚫💡💡
60 — 💡💡💡💡⚫⚫
61 — 💡💡💡💡⚫💡
62 — 💡💡💡💡💡⚫
63 — 💡💡💡💡💡💡

Если перед нами число 💡 ⚫💡⚫⚫ 💡💡⚫⚫, мы можем разложить его на разряды, как в предыдущих примерах:

256 + 0 + 64 + 0 + 0 + 8 + 4 + 0 + 0 = 332

Получается, что десятипалые люди могут записать это число с помощью цифр 332, а компьютер с транзисторами — последовательностью транзисторов 💡⚫💡⚫⚫ 💡💡⚫⚫.

Если теперь заменить включённые транзисторы на единицы, а выключенные на нули, получится запись 1 0100 1100. Это и есть наша двоичная запись того же самого числа.

Почему говорят, что компьютер состоит из единиц и нулей (и всё тлен)

Инженеры научились шифровать привычные для нас числа в последовательность включённых и выключенных транзисторов.

Дальше эти транзисторы научились соединять таким образом, чтобы они умели складывать зашифрованные числа. Например, если сложить 💡⚫⚫ и ⚫⚫💡, получится 💡⚫💡. Мы писали об этом подробнее в статье о сложении через транзисторы.

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

И всё это основано на том, что компьютер умеет быстро-быстро складывать числа, зашифрованные как последовательности включённых и выключенных транзисторов.

При этом компьютер не понимает, что он делает. Он просто гоняет ток по транзисторам. Транзисторы не понимают, что они делают. По ним просто бежит ток. Лишь люди придают всему этому смысл.

Когда человека не станет, скорость света будет по-прежнему 299 792 458 метров в секунду. Но уже не будет тех, кто примется считать метры и секунды. Такие дела.

Источник

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

Я решил сделать серию постов по информатике для чайников.

Если первый пост пойдёт хорошо, то будет еще несколько в том же духе.

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

Основа основ современного компьютера – ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ (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

Неправильные примеры. Да и как такового знака + и * в булевой алгебре нет

На самом деле все еще проще.

нет есть способ проще, всмысле рассказать

двоичный код язык программирования. m2176308 342011863. двоичный код язык программирования фото. двоичный код язык программирования-m2176308 342011863. картинка двоичный код язык программирования. картинка m2176308 342011863. в Компьютеры 23.03.2020 0 184 Просмотров

двоичный код язык программирования. 1616735705279447213. двоичный код язык программирования фото. двоичный код язык программирования-1616735705279447213. картинка двоичный код язык программирования. картинка 1616735705279447213. в Компьютеры 23.03.2020 0 184 Просмотров

Нейронные сети. Формулы обратного распространения

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

Благодарим за создание выпуска:

Переводчика – Федора Труфанова;

Редактора – Михаила Коротеева;

Диктора – Никифора Стасова;

Монтажера – Олега Жданова

двоичный код язык программирования. m2176308 342011863. двоичный код язык программирования фото. двоичный код язык программирования-m2176308 342011863. картинка двоичный код язык программирования. картинка m2176308 342011863. в Компьютеры 23.03.2020 0 184 Просмотров

двоичный код язык программирования. 1553055368263265756. двоичный код язык программирования фото. двоичный код язык программирования-1553055368263265756. картинка двоичный код язык программирования. картинка 1553055368263265756. в Компьютеры 23.03.2020 0 184 Просмотров

Нейронные сети. Обратное распространение ошибки

Привет, Лига образования!

Мы продолжаем переводить легендарный курс по нейросетям от 3blue1brown.

В предыдущей лекции мы узнали о градиентном спуске. Сегодня речь пойдет о методе обратного распространения — главном алгоритме обучения нейронных сетей.

Благодарим за создание выпуска:

Редактора – Михаила Коротеева;

Диктора – Никифора Стасова;

Монтажера – Олега Жданова

И бонус в комментариях, английский!

двоичный код язык программирования. m2176308 342011863. двоичный код язык программирования фото. двоичный код язык программирования-m2176308 342011863. картинка двоичный код язык программирования. картинка m2176308 342011863. в Компьютеры 23.03.2020 0 184 Просмотров

двоичный код язык программирования. 1553055368263265756. двоичный код язык программирования фото. двоичный код язык программирования-1553055368263265756. картинка двоичный код язык программирования. картинка 1553055368263265756. в Компьютеры 23.03.2020 0 184 Просмотров

Нейронные сети. Градиентный спуск: как учатся нейронные сети

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

Мы подготовили долгожданное продолжение лекций по нейросетям. Градиентный спуск: как учатся нейронные сети.

Благодарим за участие в выпуске:

Редакторов – Дмитрия Титова, Михаила Коротеева, Дмитрия Мирошниченко;

Корректора – Дмитрия Мирошниченко;

Дикторов – Никифора Стасова, Дарью Яговкину;

Монтажера – Олега Жданова.

двоичный код язык программирования. m1636464 208375409. двоичный код язык программирования фото. двоичный код язык программирования-m1636464 208375409. картинка двоичный код язык программирования. картинка m1636464 208375409. в Компьютеры 23.03.2020 0 184 Просмотров

двоичный код язык программирования. 1630444348273119023. двоичный код язык программирования фото. двоичный код язык программирования-1630444348273119023. картинка двоичный код язык программирования. картинка 1630444348273119023. в Компьютеры 23.03.2020 0 184 Просмотров

Разговор о системах счисления:
— Программист подарил своей женщине 5 роз, сказав «эта 101 роза тебе» (двоичная). Пещерный человек, подарил бы три розы, сказав «бери эти 111 роз» (унарная).
— То есть неандертальца от программиста отличает всего лишь ноль?
— Ну вообще введение 0 было огромным шагом для математики. Можно сказать первый мощный шаг к абстрактному мышлению. Так что в какой-то степени да, «0» — это переходная ступень между неандертальцем и программистом.

двоичный код язык программирования. m2176308 342011863. двоичный код язык программирования фото. двоичный код язык программирования-m2176308 342011863. картинка двоичный код язык программирования. картинка m2176308 342011863. в Компьютеры 23.03.2020 0 184 Просмотров

двоичный код язык программирования. 1553055368263265756. двоичный код язык программирования фото. двоичный код язык программирования-1553055368263265756. картинка двоичный код язык программирования. картинка 1553055368263265756. в Компьютеры 23.03.2020 0 184 Просмотров

Нейронные сети. Просто о сложном

Привет, Пикабу. Сегодня у нас кое-что действительно классное для Лиги образования.

Мы договорились о переводе и озвучке с автором самых крутых на Youtube видео про математику-информатику-физику.

И наша первая озвучка — видео о том, что же такое нейросети.

За это отличную озвучку мы благодарим Александра Колдаева.

Если хочешь поучаствовать в переводе или озвучке — напиши нам в вк, телеграм или facebook.

двоичный код язык программирования. m1432748 1330544562. двоичный код язык программирования фото. двоичный код язык программирования-m1432748 1330544562. картинка двоичный код язык программирования. картинка m1432748 1330544562. в Компьютеры 23.03.2020 0 184 Просмотров

Карты наук

двоичный код язык программирования. 153536916518186201. двоичный код язык программирования фото. двоичный код язык программирования-153536916518186201. картинка двоичный код язык программирования. картинка 153536916518186201. в Компьютеры 23.03.2020 0 184 Просмотров

Выше был их автор. А вот и одна из его карт (по физике):

двоичный код язык программирования. 1535369261139186925. двоичный код язык программирования фото. двоичный код язык программирования-1535369261139186925. картинка двоичный код язык программирования. картинка 1535369261139186925. в Компьютеры 23.03.2020 0 184 Просмотров

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

Кстати говоря, помимо карт наук, на его странице во flickr есть интересные постеры о том, как мы уже сейчас используем квантовые технологии.

Все его видео по картам наук публикуются в следующем плейлисте: https://www.youtube.com/playlist?list=PLOYRlicwLG3St5aEm02nc.
Они на английском, но уже есть и переводы.

Вот, например, по Computer Science:

А вот по математике:

Спасибо за внимание!

двоичный код язык программирования. m1692747 1490001975. двоичный код язык программирования фото. двоичный код язык программирования-m1692747 1490001975. картинка двоичный код язык программирования. картинка m1692747 1490001975. в Компьютеры 23.03.2020 0 184 Просмотров

двоичный код язык программирования. 1471301439235195145. двоичный код язык программирования фото. двоичный код язык программирования-1471301439235195145. картинка двоичный код язык программирования. картинка 1471301439235195145. в Компьютеры 23.03.2020 0 184 Просмотров

За день до экзамена

двоичный код язык программирования. 15277839771748492. двоичный код язык программирования фото. двоичный код язык программирования-15277839771748492. картинка двоичный код язык программирования. картинка 15277839771748492. в Компьютеры 23.03.2020 0 184 Просмотров

двоичный код язык программирования. 1527792280195193436. двоичный код язык программирования фото. двоичный код язык программирования-1527792280195193436. картинка двоичный код язык программирования. картинка 1527792280195193436. в Компьютеры 23.03.2020 0 184 Просмотров

Ну, может и не сильно-то ждёт. Ну да ладно, всё равно любит. Наверное.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *