28

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

Здравствуйте, ребята!

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

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


---------------------------------------------------------

Введение


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


Основа основ современного компьютера – ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ (2-СС). Звучит угрожающе!.. Чтобы понять, что такое ДСС, и научиться с ней работать, надо уметь складывать, умножать и возводить числа в степень. Ок, даю шпаргалку.


Сложение чисел


Пусть у нас есть какое-то число. Допустим, 5. И мы хотим прибавить к нему другое число. Допустим, 3. Как нам это сделать? Давайте, представим число 5 как пять палочек:

|||||

А число 3 как три палочки:

|||

Чтобы сложить их, сначала нарисуем пять палочек, потом допишем к ним еще три:

||||||||

Теперь пересчитаем – получилось 8.


Зря смеётесь! Когда считаем палочками – в Википедии это называется (ВНИМАНИЕ! НЕНОРМОТИВНАЯ ЛЕКСИКА!) «Единичная непозиционная система счисления с единичным весовым коэффициентом». Ну, или попросту будем называть УНАРНАЯ СИСТЕМА СЧИСЛЕНИЯ (1-СС).


В обычной жизни мы (люди) пользуемся ДЕСЯТЕРИЧНОЙ СИСТЕМОЙ СЧИСЛЕНИЯ (10-СС). Она так называется, потому что у нас есть десять цифр. К тому же, она еще и ПОЗИЦИОННАЯ, что означает, что значение (вес) цифры зависит от её положения в записи числа, например, в числах 2, 21 и 211 цифра 2 означает, соответственно, единицы, десятки и сотни.


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


Как мы складываем в 10-СС? Например, столбиком:

   12

+ 99


Сначала складываем единицы: 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) = [разобьем на сотни и десятки]

= 1 + 10 + 100


Ясно, что получится 111, но давайте остановимся и посмотрим на эту полученную форму записи:

1 + 10 + 100


Фишка в том, что любое число можно представить как сумму отдельно единиц, отдельно десятков, сотен и т.д., например:

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 + 1 = 11

Нет!!! Это не десять плюс один! Это два плюс один! В 10-СС это выглядит так: 2 + 1 = 3, а в 1-СС так: || + | = |||. Ясно –понятно?

Усложняем программу: 11 + 1 = ?

Хм… сложновато? Давайте упростим! По той же схеме, что и 12 + 99. Не забываем, что всё это в двоичной системе!

11 + 1 = [разобьем на разряды]

= (10 + 1) + 1 = [перегруппируем]

= 10 + (1 + 1) = [О! “1+1” складывать умеем!]

= 10 + 10 = [ну, здесь просто сначала игнорируем нули, складываем 1+1 и потом приписываем 0 к результату]

= 100

Ну, сколько можно??? Это не СТО!!! Если то же самое записать в 10-СС, то получим: 3 + 1 = 4. Т.е. это 100 в записи 2-СС – это ЧЕТЫРЕ.


Ну, и для закрепления материала сложим в 2-СС:


   1101 + 1001

= (1000 + 100 + 00 + 1) + (1000 + 000 + 00 + 1)

= (1000 + 1000) + (100 + 000) + (00 + 00) + (1 + 1)

= (10000) + (100) + (00) + (10)

= (10000) + (100) + (00 + 10)

= (10000) + (100) + (10)

= (10000) + 110

= 10110


А по-русски: 13 + 9 = 22

Дубликаты не найдены

+2

Большое спасибо! Очень хорошо объяснили. Всё понял.

+2
Если честно-ничего не понятно про двоичную систему.так и не врубился в принцип записи чисел.
раскрыть ветку 3
+2
Попробую по-простому:)

Возьмем число от балды - 85.

Берем калькулятор и перемножая двойку саму на себя подбираем максимально близкое (но меньшее 85) число

Это 64, или 2 в 6 степени - 2^6

85-64=21

Повторяем операцию для 21

Ближайшее 16, или 2 в 4 степени

21-16=5

Ближайшее 4, или 2^2

5-4=1

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

1____0___1___0___1___0__1



Т.е. 85=1010101

раскрыть ветку 1
-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 (это уже в десятичной системе)
------

Можете в качестве обратной связи рассказать, что именно здесь не ясно? :)

+1
Автор, статейка интересная, как преподаватель говорю, но неполная. Ты предоставил метод перевода из двоичной системы в десятичную, и метод сложения двух двоичных чисел, не хватает перевода из десятичной в двоичную и остальных операций двоичной арифметики. Самому мне всегда интересны способы преподавания различного материала, пиши дальше)))
раскрыть ветку 3
0

"не хватает перевода из десятичной в двоичную"

Да, я уже осознал этот изъян и подготовил пост про перевод из десятичной в двоичную. Завтра выложу. :)

"и остальных операций двоичной арифметики"

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

раскрыть ветку 2
0

Ложка дёгтя портит бочку мёда.... Я споткнулся на этом  -Теперь посложнее: 1 + 1 = 10

Ой! Почему десять???

А вот никакие не ДЕСЯТЬ! Это число ДВА. Просто в двоичной записи. И дальше нет объяснения почему и как. Естественно дальше идут примеры сложнее, но т.к. этот простой непонятен.... Дальше залазить в дебри

0

поделитесь, пожалуйста, еще постами по информатике если есть

0

А теперь слушайте домашнее задание: построить синхрофазотрон.

0
Звери.вынесли моск,а про 6 и 7 никто не написал.:(
0
Парни,а как в двоичной записать 6 и 7?
раскрыть ветку 2
0

Да просто.
6 = 1х2^2 +1х 2^1 + 0х2^0 = 110
7 = 1х2^2 + 1x2^1 + 1x2^0 = 111

0

001 - 1

010 - 2

100 - 4


110 - 6

111 - 7


6 = 4 +2  = 100 + 010

7 = 4 +3 +1 = 100 + 010 + 001

0
Пожалуйста не обьясняйте мне больше никто,а то я только засыпать начал.кубатурил про число 85,НО на этапе сборки чето приуныл.
+1
Теперь посложнее: 1 + 1 = 10
Ой! Почему десять???
А вот никакие не ДЕСЯТЬ! Это число ДВА. Просто в двоичной записи.

Я тебя разочарую, но это десять и есть.

раскрыть ветку 9
+1
Кстати, да. Как иначе произносить подобные выражения вслух?
раскрыть ветку 7
-1

Окей :)

0
Нет.видимо двоичная система не для меня,и линукс кстати тоже.эти две вещи я просто не догоняю.
раскрыть ветку 1
+2

Держи мое объяснение:
Когда ты считаешь до десяти, у тебя в какой-то момент кончаются названия чисел и тебе приходится комбинировать названия, чтобы считать больше 9. Например:

0, 1, 2, 3, ... 9 (эээ, цифры кончились) 10!

Ну а в двоичной системе цифры кончаются уже после 1, так и живем:

0, 1 (эээ) ... 10? 11? (эээ) 100?

Как ты понимаешь, от того, как мы назвали количество, само количество от этого не изменилось, изменился только способ счета.

0

Кстати цифровая схемотехника основана на двоичной системе счисления. На основных законах булевой алгебры. 1+1=1  1+0=1 1*1=1 1*1=0

раскрыть ветку 5
0

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

раскрыть ветку 4
-1

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

раскрыть ветку 2
0
Есть калькулятор, да.
раскрыть ветку 1
Похожие посты
48

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

573

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


85

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

1097

Ноль

1396

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

326

Карты наук

Карты наук Наука, Научпоп, Физика, Математика, Химия, Биология, Computer Science, Информатика, Видео, Длиннопост
Карты наук Наука, Научпоп, Физика, Математика, Химия, Биология, Computer Science, Информатика, Видео, Длиннопост
Показать полностью 3
121

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

За день до экзамена Экзамен, ЕГЭ, Математика, Учитель, Школа, Информатика, ГИА, Работа, Длиннопост
За день до экзамена Экзамен, ЕГЭ, Математика, Учитель, Школа, Информатика, ГИА, Работа, Длиннопост
Показать полностью 1
390

Будний день технического специалиста в школе

Будний день технического специалиста в школе Экзамен, ГИА, ЕГЭ, Школа, Информатика, Математика, Учитель, Работа, Длиннопост
Будний день технического специалиста в школе Экзамен, ГИА, ЕГЭ, Школа, Информатика, Математика, Учитель, Работа, Длиннопост
Показать полностью 2
5363

Петербургский школьник набрал 300 баллов на ЕГЭ

Петербургский школьник набрал 300 баллов на ЕГЭ ЕГЭ, Экзамены ЕГЭ ОГЭ, Экзамен, Учеба, Вуз, Математика, Физика, Информатика
Ученик физико-математического лицея № 239 Арсений Вирачев набрал по 100 баллов на выпускных экзаменах по математике, информатике и физике. Ранее он не раз становился призёром Всероссийской олимпиады по математике, а также участником заключительного этапа Всероссийской олимпиады по информатике. И эти достижения позволили бы лицеисту поступить в любой российский вуз без вступительных экзаменов. Поэтому Арсений мог вообще не готовиться, но, видимо, решил постараться и показать свои знания.
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: