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

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

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

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


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

Введение


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


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

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
Парни,а как в двоичной записать 6 и 7?
раскрыть ветку (2)
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

001 - 1

010 - 2

100 - 4


110 - 6

111 - 7


6 = 4 +2  = 100 + 010

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

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку