Мястото на бройните системи в програмирането
Една от основните концепции в математиката е тази за т.нар. бройни системи. Въпреки че митът, че програмирането е само за хора, които имат афинитет към математиката, отдавна беше разбит, познаването на основните концепции и понятия може да ти е от голяма полза. Днес в аванс ще те запозная с естеството на бройните системи, а ако искаш да развиеш и затвърдиш познанията си по математика – включи се в обогатяващия практически курс Fundamentals in Mathematics.
В курса ще научиш много повече от това кой е любимият десерт на учителите по математика (подсказка – пай). Ще откриеш основни математически принципи, ще се научиш да работиш с логаритми, с логически оператори и изрази, както и бройни системи, за които ще говорим в следващите редове.
На кратко за бройните системи
Бройните системи ти дават начина, по който да записваш числа, използвайки краен набор от цифри. Цифрата 1, последвана от цифрата 9, дават числото 19. Римските цифри са друг начин, по който да записваш числа. Всяка бройна система има своя азбука и основа, и задава определените знакове и правила, по които се записват числата.
В различните бройни системи значението на знаците може да зависи или не от мястото им в записа. По този признак различаваме два вида бройни системи:
- Позиционна Бройна Система – стойността на числото е зависима от позицията на цифрите и тези знаци променят значението си според мястото, на което се намират в записа. Такива бройни системи са десетичната, двоичната, осмичната и шестнадесетичната.
- Непозиционна Бройна Система – цифрите имат постоянни стойности, и значението им не зависи от позицията им в записа на числото. Пример за такава е римската бройна система, където I е единица, V е равно на 5, а осем се записва като VIII (V + I + I + I).
Видове позиционни бройни системи
Машините не разбират езиците, на които говорим. Точно затова разчитаме на бройните системи да предават нашите команди и инструкции. Като хора сме свикнали да работим с десетичната бройна система (с основа 10), но компютрите „разбират и говорят“ и други. Затова е важно и ти като разработчик да ги разбираш, но и да знаеш как да преобразуваш една бройна система в друга. Ето кои са и системите, на които да обърнеш по-сериозно внимание:
- Десетична (decimal) бройна система – основата на десетичната бройна система е числото 10. Тя борави с цифрите от 0 до 9. Това е система, с която боравим всеки ден. Няма нужда да сме математици или IT специалисти, за да правим прости сметки. Използва се в сферата на финансите, когато броим, за създаването на календари и т.н.
- Двоична (binary) бройна система – това е езикът на машините. Основата ѝ е числото две и се използват цифрите 0 и 1. Те съставляват т.нар. машинен код – единственият език, който компютрите разбират, без преди това да е бил преобразуван. Надали някога ще ти се наложи да използваш машинен код, когато разработваш, но е добре да знаеш какво се случва с езика от високо ниво, когато машината започне да изпълнява командите ти. Има хора, които в процеса на работа се научават „да четат“ машинен код.
- Осмична (octal) бройна система – както името подсказва, основата е числото 8, а цифрите, които се използват, са от 0 до 7. Осмичната бройна система не е толкова използвана днес, но все още разполага с предимство пред десетичната и шестнайсетичната бройни системи поради факта, че води до по-малко изчислителни грешки. Основният недостатък е, че за да може компютърът да разбира командите, осмичната бройна система трябва да се преобразува в двоична.
- Шестнадесетична (hexadecimal) бройна система – основата е числото 16, а ето и нещо ново – използват се цифрите от 0 до 9, както и буквите от A до F, които от своя страна съответстват на числата от 10 до 15. Шестнадесетичната бройна система е начин да се опрости двоичен код и да се преведе в по-четима и кратка форма. Но и компютрите се нуждаят от преобразуването ѝ в двоична система, за да я разбират.
Познаването и работата с бройни системи, както и способността да ги преобразуваш, може да подплати знанията ти и да подсили уменията ти като разработчик. Бройните системи служат и на хората, и на компютрите, тъй като са начинът, по който можем да изписваме числа. Не бива да се подценява значението им и трябва да внимаваш при използването им, затова и ще бъдат част от фундаменталните теми, които ще разгледаш в предстоящия курс.
Но те са само част от фундаментални математически концепции, които е полезно да разгледаш, като комплексни числа, логаритми, комбинаторика и вариации, дискретна математика и още. Няма нужда да ги изучаваш на университетско ниво, за да си дадеш предимство. Всички тези теми и още ще разгледаш в курса, който е подходящ за всички с базови знания по математика (на ниво 10 клас). Запиши се за Fundamentals in Mathematics ТУК. Очакваме те!