Почему в двоичной системе 1+1=10 ? Введение Чтобы...

Почему в двоичной системе 1+1=10 ?

Введение

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

Основа основ современного компьютера – ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ (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
Why in the binary system 1 + 1 = 10?

Introduction

To perform a surgical operation, anatomy is not necessary to know, but the results will be unpredictable. In the same way, to program, it is not necessary to know how the computer is arranged from the inside, but sometimes such ignorance can lead to heartbreaking consequences.

The basis of the foundations of a modern computer is the Binary Counting System (2-CC). It sounds threatening! .. To understand what DSS is and to learn how to work with it, you need to be able to add, multiply and raise numbers to a power. Ok, give a cheat sheet.

Addition of numbers

Suppose we have some kind of number. Let's say 5. And we want to add another number to it. Let's say 3. How do we do this? Let's imagine number 5 as five sticks:

|||||

And the number 3 is like three sticks:

|||

To add them up, first draw five sticks, then add three more to them:

||||||||

Now recount - it turned out 8.

You are laughing in vain! When we consider chopsticks - on Wikipedia it is called (ATTENTION! NON-NORMATIVE VOCABULARY!) "A single non-positional number system with a unit weight coefficient." Well, or simply we will call the UNAR COUNTING SYSTEM (1-CC).

In ordinary life, we (people) use the DECADER NUMBER (10-CC). It is called that because we have ten digits. In addition, it is also POSITIVE, which means that the value (weight) of a digit depends on its position in the record of the number, for example, in numbers 2, 21 and 211, figure 2 means, respectively, units, tens and hundreds.

Decimal number system

How do we stack in 10-ss? For example, a column:

12

+ 99

First, add up the units: 2 + 9 = 11, i.e. When adding two single numbers, a new ten appeared. It's clear that only one dozen of them can appear, because the biggest thing that can be added is 9 + 9 = 18. Thus, we break the addition into pieces: instead of 12 + 99, we do 2 + 9 + 10 + 90, those. we add units and tens (and then hundreds) separately from each other:

12 + 99 = [break into digits]

= (2 + 9) + (10 + 90) = [add the first digits]

= 11 + (10 + 90) = [again, break into tens and ones]

= (1 + 10) + (10 + 90) = [regroup again to separate tens from units]

= 1 + (10 + 10 + 90) = [add dozens]

= 1 + (110) = [break into hundreds and tens]

= 1 + 10 + 100

It’s clear that we’ll get 111, but let's stop and look at this form of writing:

1 + 10 + 100

The trick is that any number can be represented as the sum of separately units, separately tens, hundreds, etc., for example:

564 = 500 + 60 + 4, 7031 = 7000 + 000 + 30 + 1

The peculiarity of such a record is that in all digits we see one significant digit (first), all the digits following it are zeros. Remember this moment - it is important.

Moreover, instead of writing 1000, we can write 10 ^ 3 (i.e. ten in the third degree, which can be decoded as 10 * 10 * 10).

In particular:

7000 = 7 * 1000 = 7 * 10 ^ 3

And the whole number 7031 can be written like this:

7031 = 7 * 10 ^ 3 + 0 * 10 ^ 2 + 3 * 10 ^ 1 + 1 * 10 ^ 0

Let me remind you that any number in the zero degree gives one, and 10 ^ 0 = 1, and any number in the first degree gives itself 10 ^ 1 = 10. I also recall that any number times 0 gives 0, i.e. 0 * 10 ^ 2 = 0.

So, our number system is called decimal precisely because of this ten, which we raise to a power.

A brief digression. My dears! Do not confuse numbers and numbers! Confusing numbers and numbers is like confusing letters and sounds. A digit is just a symbol for writing numbers. And a number is an abstract quantity, usually meaning the amount of something. I think everyone understood. :)

Binary number system

Now, let's talk about 2-SS. Its peculiarity is that it has only 2 characters for writing numbers: 0 and 1. Interestingly, any number that can be written in 10-SS can also be written in 2-SS, and even in 1 -SS!

The binary system is also positional and differs from the decimal one in that instead of 10, a two is raised to the power in it, for example, the binary number 101101 can be read like this:

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 (this is already in the decimal system)

Now let's add up in a binary system.

Let's start with a simple: 0 + 0 = 0, 1 + 0 = 1, 0 + 1 = 1

No wonder, in 10-SS it looks exactly the same.

Now more complicated: 1 + 1 = 10

Oh! Why ten ???

But no ten! This number is TWO. Just in binary notation.

Next: 10 + 1 = 11

Not!!! This is not ten plus one! These are two plus one! In 10-SS it looks like this: 2 + 1 = 3, and in 1-SS it looks like this: || + | = |||. Clearly understood?

We complicate the program: 11 + 1 =?

Hmm ... complicated? Let's simplify! According to the same scheme as 12 + 99. Do not forget that all this is in the binary system!

11 + 1 = [break into digits]

= (10 + 1) + 1 = [regroup]

= 10 + (1 + 1) = [Oh! “1 + 1” we know how to add!]

= 10 + 10 = [well, here we just ignore zeros first, add 1 + 1 and then assign 0 to the result]

= 100

Well, how much can you ??? This is not a service station !!! If the same is written in 10-SS, then we get: 3 + 1 = 4. That is, it's 100 in a 2-C record
У записи 3 лайков,
0 репостов.
Эту запись оставил(а) на своей стене Виталий Быков

Понравилось следующим людям