в този урок ще разгледаме детайлно всичко за битовете, байтовете и техните състояния в електрониката, програмирането и където и да ги срещнете да знаете какво и къде и как трябва да се чете, пише и пресмята.

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




така, първо няколко закона за двоичните числа

ЗАКОН 1. двоично число наричаме това число което е съставено само от чифрите 0 и/или 1 с размер N на брой бита. така какво означава това. примерно виждате във файл със описание на някаква електроника, процесор, програма и/или други компютърни документи поредица от цифрите 0 и/или 1 написани като самостоятелно число. ето и един пример : числото 11001110100001110111 сме намерили в някакъв документ и искаме да разберем какво е това число.

а) 11001110100001110111 - същото число разбиваме на броя на неговите битове. като ги преброяваме от дясно наляво. ПОВТАРЯМ !!!! ОТ ДЯСНО НА ЛЯВО !!!! защо ще кажем по късно. зна броят на цифрите 0 и/или 1 които се съдържат в числото ще ни даде отговор колко битово е самото число. преброяваме 20 знака /цифри/ 0 и 1, което означава че числото е 20 БИТОВО. това число е доста голямо двоично което ще използваме за нашия урок. цифрите които съставят двоичните числа се четат НУЛА и/или ЕДИНИЦА, а не хиляда сто и единайсет или всякакви други варианти на четене!!! ЧЕТЕ СЕ - НУЛА, ЕДНО/ЕДИНИЦА/ !!!!

б) такаааа, какво още може да разберем за това число - 11001110100001110111 . ами след като пребройхме цифрите вече знаем че числото е 20 битово двоично. сега да видим колко байта има във това число.

ЗАКОН 2. всяко двоично число което съдържа 8 бита наричаме 1 байт. такааа, сега да видим какво е това байт. тъй като в цифровата електроника, компютрите и програмирането се налага употребата на големи порции от данни, битовете са доста малки за да запомнят количествата информация. за това спецовете са направили система за групиране на битовете която наричаме байт. и са дали размер на 1 байт да е равен ан 8 бита. в нашият пример със числото 11001110100001110111, знаем че има 20 бита, 1 байт е 8 бита , значи след малко смятане по формулата на изваждане 20бита-8бита/1байт/=12бита-8/бита/1байт/=4бита. накрая остават 4 бита, които не можем да извадим от 8 защото ще се получи отрицателно число.

1100 11101000 01110111 - нашето число е разделено на байтове от 8 бита и се получава 2 байта и половина. така останалите 4 бита най-отпред в числото наричаме полубайт или половин байт.

ЗАКОН 3. полубайт или половин байт се нарича двоично число с дължина 4 бита. това е често използвано в електрониката състояние на двоичните числа защото по този начин се адресират регистри с малко съдържание необходими за различни задачи. например броячът 74LS193 който сме използвали в много примери има 4 входа за зареждане на адрес и 4 изхода Q0-Q3 за извеждане на числата от 0 до 15 само че представени като полу байт със състояние от 0000 до 1111. този пример е направен нагледно в един от предните уроци за броячите. в цифровата електроника и програмирането може да срещнете и необходимост от по малки двоични числа. примерно от 3 бита, 2 бита и дори от 1 бит. за тези казваме че са трибитови, двубитови и еднобитови числа.

така, да поговорим за байтовете отново. в днешно време информацията е с доста големи размери, за това спецовете са дали имен на следващите размери от байтове както следва - килобайт=1024 байта, мегабайт=1024 килобайта, гигабайт=1024 мегабайта, терабайта=1024 гигабайта. с тези размери са означени файловете със различна информация като самото съдържание вътре във самият файл отново е разбито на байтове за да може програмите лесно да разчитат и редактират информацията. това улеснява също програмистите и потребителите на електрониката, компютърните системи, програмирането и всички които работят в ИТ сектора.

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

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

ЗАКОН 4. старши байт в двоично число наричаме най левите 8 бита от числото като разделим от ДЯСНО НА ЛЯВО числото на всеки 8 бита/1байт/!!!! така, малко са объркахме. как да разберем кой е старшият байт на числото? ами ето, след като спазваме правилото за преброяване от ДЯСНО НА ЛЯВО започваме с първите 8 бита и разделяме числото на байтове 1100 11101000 01110111.
оказа се че има и един полу байт най отпред, което не трябва да ви плаши, защото занапред може да се случи да има 3,4,5,6,7 цифри след като разделите на байтове числото.
значи разделеното вече число - 1100 11101000 01110111 има за най старши не цял а половин байт - 1100 , ако разгледаме числото без половиният байт - 11101000 01110111 това число старшият байт е лявата поредица от 0/1 - 11101000. такаааа. разбрахме кой е старшият байт. сега да видим как се нарича най десният байт - прието е в електрониката да се нарича младши байт.

ЗАКОН 5. младши байт наричаме първият байт на всяко двойчно число ПРЕБРОЕН ОТ ДЯСНО НА ЛЯВО. даваме за пример байта от нашето двично число - 01110111 . сравнете дали вярно съм написал байта като имате за пример цялото число - 11001110100001110111

защо наричаме байтовете старши и младши? на този въпрос ще дам следният отговор - защото така лесно се разбира за кой байт във някакво дълго число става дума. второ, в потока на информация и промяна на числото първо се променя малдшият байт и когато той достигне определено състояние наречено препълване, тогава се променя стойността на старшият байт, когато отново се промени младшият байт и достигне препълване чак тогава се променя старшият байт и така циклично се променят до като се достигне финаналното състояние на цялото число което съдържа във всички битове само стойност 1.

сега ще разгледаме стойноста на младшият байт и ще обясним някои неща. първо както вече знаем имам 2 байта и половина в нашето число, старши е полу байта най отпред ПРЕБРОЕНО ОТ ДЯСНО НА ЛЯВО, дължината на числото е 20 бита, цял старши байт е вторият цял байт състоящ се от вторите 8 бита ПРЕБРОЕНО ОТ ДЯСНО НА ЛЯВО, младшият байт е най десният байт състоящ се от първите 8 бита.

младшият байт 01110111 е съставен от 8 бита като сега ще определим кой е старшият и кой е младшият БИТ във един байт. след като спазваме правилото за преброяване от дясно на ляво, най старшият бит е най левият , най младшият е най десният. значи старшият бит има стойност 0 на младшият бит има стойност 1. ако разделим този байт на два полу байта ще се получи следният резултат - 0111 0111 . оказва се че двата полубайта имат еднаква стойност като това не трябва да ви обърква, защото целият байт представлява състояние на даден регистър, клетка от паметта и/или друг тип информация.

ЗАКОН 6. старши БИТ в един 8 битов байт наричаме най левият бит преброен от дясно на ляво. младши БИТ в един байт наричаме най десният бит преброен от дясно на ляво.

в електронните интегрални схеми, процесорите и други сложни електронни елементи и блокове има практика, битовете да са означени с имена, като по този начин лесно програмистите се разбират кой бит да бъде установен в 0 или 1. имена има и байтовете от даден регистър, защото може регистърът да е с големина 2 или 3 байта , че може и повече. имената давани на регистрите, байтовете и битовете са записани от производителя, като след това програмистите на процесорните системи пишат имената и необходимите състояния на всеки байт, бит за да работят правилно електронните системи.

ще дам пак примера за двоичния броя 74LS193. неговите изходи са означени с буквите Q0-Q3, като буквата Q е от английски език QUIT/куит - изход/ а цифрата показва номера на съответния изход примерно 0,1,2,3. по това може да разберете че всеки четири битов двоичен брояч има адрес 4 бита, което е един полубайт. ако свържем два брояча със последователно броене ще се получат два 4 битови полу байта което е равно на един 8 битов цял байт.

4 бита + 4 бита = 8 бита/1байт/
полубайт + полубайт = цял байт
4 бита * 2 = 8/бита/1байт/ * звездата се чете като знак за умножение 4 по 2 = 8
 
ЗАКОН 7. всеки бит от който да е байт може да съдържа стойност 0 или 1. малко повече за нулите и единиците. тъй като това е основен закон в електрониката, програмирането , компютрите и всички използващи ИТ технологиите стандарт ще обясним малко за тези цифри с помоща на които са изградени всички съвременни информационни техники, стандарти и комуникации.

двете противоположни състояния на един бит са 0 или 1, не може да се съдържа никаква друга стойност защото това просто няма как да стане. тъй като електрониката се работи с ниско напрежение измервано във волтове, специалистите са приели стандарт за засичане на състояние на напрежението с определен волтаж в даден кабел. избра ли са че когато на кабела който измерват има +5 волта, това да бъде логическа 1 , а когато има 0 волта това да бъде логическа 0. интегралните схеми, чиповете, процесорите и другите цифрови електронни схеми и модули работят със стандартно захраващо напрежение от 5 волта , като на дадени входо ве и изходи на чипа може да има или да няма наличие на +5 волта или това наричаме логическа 1. логическа 0 наричаме когато на кабела който измерваме няма никакво напрежение или казваме че имаме логическа 0.

пример : събра ли сте 10 батерии от коли с дистанционно. с уред измерваме на коя батерия има напрежение от 5 волта за да може да работи колата с дистанционното. на която батерия има 5 волта значи тя има логическа 1 и ще може да задвижи колата. на тези батерии на които няма 5 или правилно казано има 0 волта значи има логическа 0. или те няма да могат да задвижат колата. ето и един нагледен пример за резултата който ще се получи.

батерия номер 10 9 8 7 6 5 4 3 2 1
състояние        0 1 1 0 0 1 0 1 0 1
1 работеща
0 не работеща

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

със същия уред /мултицет/ с който мерим батериите, в електрониката се измерват и много други сигнали и състояния на битовете. могат да се мерят напрежения/волтове/, сила на тока/ампери/, резистори/ом/, кондензатори/фарад/, бобини/хенри/, мощност/ват/, честота/херц/. могат да се измерват транзистори дали са здрави, диоди, напрежения и честоти на някой пин на процесор или логическа интегрална схема, състояния на пиновете на даден диплей, комуникационен порт и много други. измервателните уреди като мултицет, осцилоскопите, сигнал генераторите, програматорите и други помощни средства са задължителна част от работното място на един специалист по електроника, програмиране, компютри и всички които проверяват по кабела дали има +5 волта.

ЗАКОН 8. комбинациите от нули и единици в един байт НЕ МОГАТ ДА НАДМИНАВАТ 256 броя-от 0 до 255. такаа, за да завършим днешния урок с последния бит от байта с законите ще разгледаме малко и съдържанието на даден байт, както рагледахме и размера на байтовете, полубайтовете и битовете.

 

това означава че в един байт има 8 бита които имат състояние само 0 или 1. след като умножим 8 пъти една 2 ще се получи
стойност    2*2*2*2*2*2*2*2 = 256
бит номер   8 7 6 5 4 3 2 1

или казваме че след като броя на битовете е 8, и мога да имат само 2/две/ състояния е вярно че 2 на степен 8 = 256 комбинации от 0 или 1.  >>> 2^8=256




ако се върнем на примера с батериите където бяха 10 на брой ще знаем че имаме 10 битово число, това е с 2 бита повече от един байт. значи за да разберем колко са максималните комбинации между 0и1 в 10 битовото число трябва да умножим една 2 сама със себе си толкова пъти колкото са битовете. имам 10 бита със 2 състояния. това прави 2*2*2*2*2*2*2*2*2*2=1024 различни комбинации от 0 или 1 в дължината на 10 битовото число.
 
в началото на урока взехме за пример едно много дълго двоично число, след като разбрахме че то е 20 битово искам да се опитате да намерите колко са комбинациите от нули и единици в дължината на 20 битово двоично число. за подсказка ще ви кажа че десетичното число е по голямо от 1000000 /един милион/, тъй като 20 битово число е нормална големина за електрониката и програмирането.