Разлика между версии на „Двоична бройна система“

м
(hahaha)
Етикети: Визуален редактор Заместване Отменени
'''Двоичната бройна система''' (също и бинарна система) е [[позиционна бройна система]] с [[Основа на бройна система|основа]] 2, при която [[Число|числата]] се изобразяват само с помощта на две [[Цифра|цифри]]: [[0 (число)|0]] и [[1 (число)|1]].
== Kude si trugnal we :DDD ==
 
== Особености ==
Бележи се с долен индекс <sub>2</sub> или с малката [[Латински език|латинска]] буква '''b''' ({{lang|en|на=от|binary}} – „двоичен“) след числото. Например 1001<sub>2</sub> =1001b = 9<sub>10</sub>,
 
Отделните цифри се означават като [[Бит (информатика)|бит]]. Редицата от битове (0 и 1) се нарича [[Бинарен код|бинарен (или двоичен) код]]. Група от 8 бита е прието да е равно на 1 [[байт]].
 
За прегледност двоичните числа се изписват на групи от по 4 или 8 бита. При необходимост, когато броят на цифрите не е кратен на
 
4, числото се допълва с водещи нули.
 
Както във всички позиционни бройни системи, 0 пред числото не променя стойността му; завършващият (най-десният) бит се нарича най-младши разред, а всеки отляво е по-старши разред.
 
Първата цифра (старшият разред), за всяко число по-голямо от 0, която определя стойността винаги е 1.
 
Когато числото в двоичната система завършва с 1 (младшия разред), то е [[Нечетно число|нечетно]] в [[Десетична бройна система|десетичната система]], съответно – [[Четност|четно]], когато завършва с 0.
 
Всяко добавяне на 0 най-дясно, в число по-голямо от 0, увеличава стойността му точно два пъти.
 
== История ==
Системите, свързани с двоични числа се откриват в множество култури, включително [[Древен Египет]], [[Китай]] и [[Индия]].
 
Съвременната двоична система е изследвана в Европа през XVI и XVII век от [[Томас Хариот]], [[Хуан Карамуел и Лобковиц]] и [[Готфрид Лайбниц]].
 
=== Франсис Бейкън ===
През 1605 г. [[Френсис Бейкън]] обсъжда система, при която буквите от азбуката могат да бъдат сведени до последователности от двоични цифри, които след това биха могли да бъдат кодирани като едва забележими вариации на шрифта в произволен текст. Важно за общата теория на двоичното кодиране е добавката му, че този метод може да се използва посредством всякакви обекти при условие, че тези обекти могат да имат само две състояния, например камбани и всякакви музикални инструменти, както и светлини и факли.<ref>{{cite web |url=http://home.hiwaay.net/~paul/bacon/advancement/book6ch1.html | author=Bacon, Francis | year=1605 | title = "The Advancement of Learning" Chapter 1}}</ref> Това става известно като Шифъра на Бейкън.
 
=== Готфрид Лайбниц ===
Лайбниц изучава двоично номериране през 1679 г., като работата му се появява в неговата статията „Обяснение на двоичната аритметика, която използва само символите 1 и 0, с някои забележки за нейната полезност, и върху светлината, която хвърля тя върху древните китайски фигури на Fu Xi“ (отпечатана през 1703 г.).<ref>{{cite web |url=http://www.leibniz-translations.com/binary.htm | title = EXPLANATION OF BINARY ARITHMETIC}}
</ref> Той е вярвал, че 0 и 1 са единствените числа, от които реално имаме нужда. Планирал е и построяването на механичен компютър на тази база, но никога не изпълнява плановете си.
 
Според филма [[imdbtitle:0482651|„История на единицата“]] излъчен по [[Viasat History]], Готфрид Лайбниц (1646 – 1716) изобретява двоичната система. В своят експеримент Лайбниц броял, като слагал по една топка, в предварително подготвени чаши с написани на тях числа, които са степените на 2: 1 (=2<sup>0</sup>), 2 (=2<sup>1</sup>), 4 (=2<sup>2</sup>) и т.н., подредени от дясно наляво по нарастването на сумата. Той слагал топка, където числото изобразено на чашата е по-малко от изходното и продължавал с остатъка от изходното число намалено с числото на чашата. Пълните чаши съответстват на 1, празните – на 0.
 
Изчисленията му се показват със следната таблица. Удебелените десетични числа горе представляват стойността на кореспондиращата единица, като се попълват нарастващо от дясно наляво; а вляво е сборът от произведението на тези стойности. В таблицата се получава готовия бинарен код:
<table id="table1" style="border-collapse: collapse; border-style: solid; border-width: 2px" width="520" border="1" cellpadding="0" cellspacing="0">
<tr>
<td width="100" align="center"> </td>
<td colspan="10" width="412" align="center"><span lang="bg">'''Десетична система'''</span></td>
</tr>
<tr>
<td style="border-right-style: solid; border-right-width: 1px" height="62" width="101">
'''<span lang="bg">Продукт по десетичната система</span>'''</td>
<td align="center" height="62" width="41">'''512'''</td>
<td align="center" height="62" width="41">'''256'''</td>
<td align="center" height="62" width="41">'''128'''</td>
<td align="center" height="62" width="41">'''64'''</td>
<td align="center" height="62" width="41">'''32'''</td>
<td align="center" height="62" width="41">'''16'''</td>
<td align="center" height="62" width="42">'''8'''</td>
<td align="center" height="62" width="42">'''4'''</td>
<td align="center" height="62" width="42">'''2'''</td>
<td align="center" height="62" width="42">'''1'''</td>
</tr>
<tr>
<td style="border-right-style: solid; border-right-width: 1px" width="101">
6</td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41">0</td>
<td align="center" width="41">0</td>
<td align="center" width="42">0</td>
<td align="center" width="42">1</td>
<td align="center" width="42">1</td>
<td align="center" width="42">0</td>
</tr>
<tr>
<td style="border-right-style: solid; border-right-width: 1px" width="101">
48</td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41">1</td>
<td align="center" width="41">1</td>
<td align="center" width="42">0</td>
<td align="center" width="42">0</td>
<td align="center" width="42">0</td>
<td align="center" width="42">0</td>
</tr>
<tr>
<td style="border-right-style: solid; border-right-width: 1px" width="101">
27</td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41">1</td>
<td align="center" width="42">1</td>
<td align="center" width="42">0</td>
<td align="center" width="42">1</td>
<td align="center" width="42">1</td>
</tr>
<tr>
<td style="border-right-style: solid; border-right-width: 1px" width="101">
4</td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="41"> </td>
<td align="center" width="42">0</td>
<td align="center" width="42">1</td>
<td align="center" width="42">0</td>
<td align="center" width="42">0</td>
</tr>
<tr>
<td style="border-right-style: solid; border-right-width: 1px" width="101">
805</td>
<td align="center" width="41">1</td>
<td align="center" width="41">1</td>
<td align="center" width="41">0</td>
<td align="center" width="41">0</td>
<td align="center" width="41">1</td>
<td align="center" width="41">0</td>
<td align="center" width="42">0</td>
<td align="center" width="42">1</td>
<td align="center" width="42">0</td>
<td align="center" width="42">1</td>
</tr>
</table>
 
=== Джордж Бул ===
През 1854 г. британският математик [[Джордж Бул]] публикува оригинална статия, описваща [[Алгебра|алгебрична]] система на [[логика]]та, която става известна като [[булева алгебра]]. Върху неговия логически анализ се основава дизайнът на цифровите електронни вериги.<ref>{{cite web |url=http://www.gutenberg.org/ebooks/15114 | title=An Investigation of the Laws of Thought | author=George Boole}}</ref> За логическите операции се използват променливите от двоичната бройна система като концепцията е 1 – правилно, вярно /''true''/, a 0 – неправилно, грешно /''false''/.
 
== Броене ==
Както във всяка позиционна бройна система, броенето преминава в нарастващ ред през всички символи, като разликата е, че в двоичната система те са само два: 0 и 1. При достигане на най-големия символ 1, той става 0 и предизвиква увеличение на левия знак с 1.
 
На x<sub>10</sub> в десетична бройна система съответства y<sub>2</sub> в двоична бройна система, първите 8 десетични числа изглеждат така:
* 1<sub>10</sub> = 1<sub>2</sub>
* 2<sub>10</sub> = 10<sub>2</sub>
* 3<sub>10</sub> = 11<sub>2</sub>
* 4<sub>10</sub> = 100<sub>2</sub>
* 5<sub>10</sub> = 101<sub>2</sub>
* 6<sub>10</sub> = 110<sub>2</sub>
* 7<sub>10</sub> = 111<sub>2</sub>
* 8<sub>10</sub> = 1000<sub>2</sub>
 
== Двоична алгебра ==
Изчисленията в двоичната бройна система са прости и могат да се опишат лесно.
 
=== [[Събиране]] ===
0 + 0 = 0
 
0 + 1 = 1
 
1 + 0 = 1
 
1 + 1 = 10 (или 0 с 1 наум, което се добавя отляво, когато събираме числа с повече от една цифра)
 
=== [[Изваждане]] ===
0 – 0 = 0
 
0 – 1 = 1 (с вземане на 1 от лявостоящата цифра)
 
1 – 0 = 1
 
1 – 1 = 0
 
=== [[Умножение]] ===
0 * 0 = 0
 
0 * 1 = 0
 
1 * 0 = 0
 
1 * 1 = 1
 
=== [[Деление]] ===
0 : 1 = 0
 
1 : 1 = 1
 
В двоичната система също както във всички останали бройни системи не може да се дели на 0, поради [[Несигурност|неопределеността]] на резултата.
 
Най-просто това се обяснява с двата факта, че всяко число делено на себе си е 1, но 0 делено на всяко число е 0. Така изразът 0 : 0 трябва да е едновременно и 1 и 0.
 
== Преминаване от десетична в двоична бройна система ==
Когато трябва да обръщаме [[десетично число]] в двоично се процедира в следния ред:
:# Делим първоначалното число на 2
:# Ако то се дели без остатък записваме 0
:# Ако числото има остатък записваме 1
:# Връщаме се отначало, докато не достигнем 0
Например числото 19<sub>10</sub> се преобразува по следния начин:
{| class="wikitable"
|-
| 19 || / 2 || = 9 || с остатък 1
|-
| 9 || / 2 || = 4 || с остатък 1
|-
| 4 || / 2 || = 2 || с остатък 0
|-
| 2 || / 2 || = 1 || с остатък 0
|-
| 1 || / 2 || = 0 || с остатък 1
|}
 
Остатъците се записват от дясно наляво. Така получаваме 19<sub>10</sub> = 10011<sub>2</sub>.
 
== Преминаване от двоична в десетична бройна система ==
За преобразуването на двоично число в десетично се използва подобен на горния принцип като деленето се заменя с умножение.
 
За числото 10011<sub>2</sub>, започвайки от ляво надясно имаме:
 
първото число е 1,
 
следващото е 0, значи 1 * 2 = 2 и не добавяме нищо,
 
следващото е 0, значи 2 * 2 = 4 и не добавяме нищо,
 
следващото е 1, значи 4 * 2 = 8, добавяме 1 и става 9,
 
следващото е 1, значи 9 * 2 = 18, добавяме 1 и става 19.
 
Така получаваме 10011<sub>2</sub> = 19<sub>10</sub>.
 
Като всяка друга бройна система, двоичната е изградена на следния принцип:
* последното число (единиците) е 2<sup>0</sup>
* предпоследно число (двойките) е 2<sup>1</sup>
* пред-предпоследно число (четворките) е 2<sup>2</sup>
Когато трябва да обръщаме двоично число в [[десетично число]] се ползват [[Степенуване (математика)|степените]] на числото 2, започвайки от 2 на степен 0 (всяко число на степен 0 е равно на 1), което се [[Умножение|умножава]] с най-дясната цифра в двоичното число. Придвижвайки се от дясно наляво степента на 2 се увеличава с 1. Получените произведения се [[Събиране|събират]]:
 
1<sub>2</sub> = (1.2<sup>0</sup>) = 1.1 = 1<sub>10</sub>
 
10<sub>2</sub> = (1.2<sup>1</sup>) + (0.2<sup>0</sup>) = 2 + 0 = 2<sub>10</sub>
 
1011<sub>2</sub> = (1.2<sup>3</sup>) + (0.2<sup>2</sup>) + (1.2<sup>1</sup>) + (1.2<sup>0</sup>) = 8 + 0 + 2 + 1 = 11<sub>10</sub>
 
Или започвайки от ляво надясно първата цифра от двоичното число се умножава по 2 на степен общото количеството цифри (бита) в числото намалено с 1, а всяко за следващо степента се намалява с 1.
 
== Изобразяване в байтове ==
Чрез 8 бита в двоичната бройна система (което е прието за 1 байт) се изобразяват числата от 0 до 255. Всяко число над 255 се смята за втори байт и се образува второ число в двоичната система. Тоест, ако имаме числото 631, то е равно на 255 + 255 + 121, което в двоичен вид ще изглежда така:
{| class="wikitable"
|255 : 2 =oc.1
|127 : 2 =oc.1
|63 : 2 =oc.1
|31 : 2 =oc.1
|15 : 2 =oc.1
|7 : 2 =oc.1
|3 : 2 =oc.1
|1 : 2 =oc.1
|
|-
|121 : 2 =oc.1
|60 : 2 =oc.0
|30 : 2 =oc.0
|15 : 2 =oc.1
|7 : 2 = oc.1
|3 : 2 =oc.1
|1 : 2 =oc.1
|
|
|}
Или иначе казано, числото 631 в двоичен вид, ще изглежда така: 111111111 + 111111111 + 11111001
 
== Приложение ==
Двоичната бройна система е фундаментална за възникването и развитието на изчислителната техника, [[информатика]]та и [[компютър|компютърните устройства]]. Нейните две цифри 0 и 1 технически лесно могат да бъдат дефинирани – по това дали в даден възел от електрическата/електронната верига протича или не протича ток, или е налице или не напрежение. От теоретична (и практическа) гледна точка електрическите/електронните вериги изградени на базата на двоична бройна система имат най-високата възможна шумозащитеност, тъй като за да бъде прочетена/записана погрешно някоя цифра, нивото на евентуален смущаващ сигнал трябва да бъде (в повечето случаи) приблизително половината от захранващото напрежение на веригата. Двоичното представяне на числата е удобно за конструктивно изпълнение (хардуерна реализация) на пресмятанията поради тяхната простота (виж [[Двоична алгебра]]).
 
== Вижте също ==
* [[Бройна система]]
* [[Десетична бройна система]]
* [[Булева алгебра]]
* [[Двоичен код]]
* [[Огледален двоичен код]]
* [[Побитова операция]]
 
== Източници ==
{{reflist}}