Направо към съдържанието

Бройна система

от Уикипедия, свободната енциклопедия
(пренасочване от Позиционна бройна система)

Бройната система представлява символен метод за представяне на числата посредством ограничен брой символи, наречени цифри. Съществуват два вида бройни системи – непозиционни и позиционни.[1]

Непозиционни бройни системи

[редактиране | редактиране на кода]

Непозиционните бройни системи са тези, при които стойността на цифрата най-общо не зависи от нейното място (позиция) в записа на числото. Такива бройни системи са римската, гръцката, милетската бройна система и др.

Римска бройна система

[редактиране | редактиране на кода]

В римската бройна система използваните знаци са М (за 1000), D (500), C (100), L (50), X (10), V (5), I (1). Общата стойност се изчислява от ляво надясно, като знаците, които са с равна или по-голяма стойност се събират, а тези с по-малка – се изваждат. Например: VI = 5 + 1 = 6, IV = 5 − 1 = 4.

Гръцка бройна система

[редактиране | редактиране на кода]

Гръцката бройна система, използвана главно за практически задачи, е десетична система с групиране по петици. Степените на 10 се означават с началните букви на съответните гръцки думи, като единиците се посочват с чертички, а групирането в петици се означава с буквата Γ пред числото. Например:

ΓΔ = 50, ΓH = 500, ΓX = 5000, ΓM = 50 000.

Милетска бройна система

[редактиране | редактиране на кода]

Милетската бройна система е била предназначена за научни пресмятания и за означаване на цифрите са използвани 24 гръцки и 3 еврейски букви.

Позиционни бройни системи

[редактиране | редактиране на кода]

Позиционните бройни системи са тези, при които стойността на цифрата зависи от нейното място (позиция) в записа на числото, като тя се умножава с т.нар. тегловен коефициент. Той представлява основата на бройната система (например 2, 10 или 16), повдигната на различна степен: нула – за най-младшия разряд, единица за следващия и т.н. – степента нараства с единица за всеки следващ по-старши разряд („наляво“). При дробната част на числото (ако има такава) степента на нейния най-старши разряд (първият след запетаята) е −1, като аналогично на цялата част от числото нараства по модул с единица (намалява с −1) в посока по-младшите разряди („надясно“).

Десетичната бройна система е позиционна бройна система с целочислена основа десет.

Всяко число може да бъде преобразувано от една бройна система в друга.

Двоична в десетична

[редактиране | редактиране на кода]

I начин – стандартен

[редактиране | редактиране на кода]

Пример: Имаме числото 101011 в двоична бройна система. За да го превърнем в десетична бройна система, трябва да сумираме тегловните коефициенти, умножени по цифрата на съответната позиция.

II начин – опростен
[редактиране | редактиране на кода]

Пример: Имаме числото 101011 в двоична бройна система. За да го превърнем в десетична бройна система, сумираме само тегловните коефициенти, съдържащи единица.

Десетична в двоична

[редактиране | редактиране на кода]

За да превърнем число от десетична в двоична бройна система, трябва да го разделяме на 2, докато частното стане нула като записваме остатъците вдясно (ако числото не може да се дели на 2, записваме единица, а ако може – нула).
Пример: Преобразуване на 87 от десетична в двоична бройна система.

  • 87 ÷ 2 = 43 ⇒ 1
  • 43 ÷ 2 = 21 ⇒ 1
  • 21 ÷ 2 = 10 ⇒ 1
  • 10 ÷ 2 = 5 ⇒ 0
  • 5 ÷ 2 = 2 ⇒ 1
  • 2 ÷ 2 = 1 ⇒ 0
  • 1 ÷ 2 = 0 ⇒ 1

След това, за да получим двоичното число, вземаме получените единици и нули, като резултатът от последното деление става най-старшият разряд на двоичното число, съответно – резултатът от първото деление – най-младшият: на числото 87 в десетична бройна система съответства 1010111 в двоична.

За да получим двоичен еквивалент на десетична дроб, последователно умножаваме по основата на бройната система (в случая 2) до достигане на желаната точност. //При всяко умножаване цялата част на получения резултат е съответен разряд от двоичния еквивалент. В някои случаи точна десетична дроб не може да се получи и е налице остатък. В този случай дробта се закръгля според изискваната от конкретния случай точност (максимално допустимата за случая грешка).

Пример: 0,386

  • 0,386 × 2 = 0,772 ⇒ 0
  • 0,772 × 2 = 1,544 ⇒ 1 (изваждаме единица)
  • 0,544 × 2 = 1,088 ⇒ 1 (изваждаме единица)
  • 0,088 × 2 = 0,176 ⇒ 0
  • 0,176 × 2 = 0,352 ⇒ 0
  • 0,352 × 2 = 0,704 ⇒ 0
  • 0,704 × 2 = 1,408 ⇒ 1 (изваждаме единица)
  • 0,408 × 2 = 0,816 ⇒ 0

За да получим числото, вземаме цялата част от всеки отговор от горе надолу и за числото 0,386 в десетична бройна система получаваме (с точност до осмия знак след запетаята) 0,01100010 в двоична.

Двоична в шестнадесетична и обратно

[редактиране | редактиране на кода]

Най-лесно практически се осъществява чрез следната таблица за съответствие, използваща т.нар. тетради (четирицифрени двоични числа):

0000 – 0

0001 – 1

0010 – 2

0011 – 3

0100 – 4

0101 – 5

0110 – 6

0111 – 7

1000 – 8

1001 – 9

1010 – A

1011 – B

1100 – C

1101 – D

1110 – E

1111 – F

Пример: 0011101001110010(2)

  • Разделяме числото от най-младшия разряд към най-старшия („от дясно наляво“) на тетради (полубайтове – четири бита) и според таблицата на съответствие между двете броични системи получаваме 0011|1010|0111|0010 = 3A72. В случай, когато броят двоични цифри не е кратен на четири, за практическо удобство двоичното число се допълва откъм най-старшата цифра/бит („отляво“) с необходимия брой нули.

Редица от 0 и 1 се нарича двоичен или бинарен код.

  1. Наков, Светлин. Free C# / Java / JavaScript / Python / C++ Programming Books » Глава 8. Бройни системи // introprogramming.info. Посетен на 31 август 2024. Глава 8. Бройни системи (Грешка в записа: Неразпознат езиков код бг)