Бройна система
Бройната система представлява символен метод за представяне на числата посредством ограничен брой символи, наречени цифри. Съществуват два вида бройни системи – непозиционни и позиционни.[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 се нарича двоичен или бинарен код.
Вижте също
[редактиране | редактиране на кода]- Основа на бройна система
- Двоична бройна система
- Десетична бройна система
- Осмична бройна система
- Шестнадесетична бройна система
- Цифри на маите
- Римски цифри
- Гръцки цифри
- Кирилски цифри
Източници
[редактиране | редактиране на кода]- ↑ Наков, Светлин. Free C# / Java / JavaScript / Python / C++ Programming Books » Глава 8. Бройни системи // introprogramming.info. Посетен на 31 август 2024. Глава 8. Бройни системи (Грешка в записа: Неразпознат езиков код
бг
)