Информация за кодиране. Двоично кодиране

Всеки знае, че компютрите могат да извършват изчисления върху големи групи от данни с огромна скорост. Но не всеки знае, че тези действия зависят само от две условия: дали има ток или не и какво напрежение.

Как един компютър успява да обработи такова разнообразие от информация?
Тайната се крие в двоичната бройна система. Всички данни влизат в компютъра, представени под формата на единици и нули, всяка от които съответства на едно състояние на електрическия проводник: единици - високо напрежение, нули - ниско или единици - наличие на напрежение, нули - липсата му. Преобразуването на данни в нули и единици се нарича двоично преобразуване, а окончателното му обозначение се нарича двоичен код.
В десетичната нотация, базирана на десетичната бройна система, използвана в ежедневието, числовата стойност се представя от десет цифри от 0 до 9 и всяко място в числото има стойност десет пъти по-висока от мястото вдясно от него. За представяне на число, по-голямо от девет в десетичната система, на негово място се поставя нула, а на следващото, по-ценно място вляво, се поставя единица. По същия начин в двоичната система, която използва само две цифри - 0 и 1, всяко място е два пъти по-ценно от мястото вдясно от него. Така в двоичния код само нула и едно могат да бъдат представени като единични числа, а всяко число, по-голямо от едно, изисква две места. След нула и едно следващите три двоични числа са 10 (чете се едно-нула) и 11 (чете се едно-едно) и 100 (чете се едно-нула-нула). 100 двоично число е еквивалентно на 4 десетично число. Горната таблица вдясно показва други BCD еквиваленти.
Всяко число може да бъде изразено в двоична система, просто заема повече място, отколкото в десетична система. Азбуката може да бъде написана и в двоичната система, ако на всяка буква се присвои определено двоично число.

Две цифри за четири места
16 комбинации могат да бъдат направени с помощта на тъмни и светли топки, комбинирайки ги в групи от по 4. Ако тъмните топки се приемат за нули, а светлите топки за единици, тогава 16 комплекта ще се окажат двоичен код от 16 единици, числената стойност на което е от нула до пет (вижте горната таблица на страница 27). Дори и с два вида топки в двоичната система, безкраен брой комбинации могат да бъдат изградени просто чрез увеличаване на броя на топките във всяка група - или броя на местата в числата.

Битове и байтове

Най-малката единица в компютърната обработка, битът е единица данни, която може да има едно от двете възможни условия. Например всяка от единиците и нулите (вдясно) представлява 1 бит. Битът може да бъде представен по други начини: наличие или отсъствие на електрически ток, дупка или нейното отсъствие, посока на намагнитване надясно или наляво. Осем бита съставляват един байт. 256 възможни байта могат да представляват 256 знака и символа. Много компютри обработват по един байт данни наведнъж.

Двоично преобразуване. Четирицифреният двоичен код може да представлява десетични числа от 0 до 15.

Кодови таблици

Когато се използва двоичен код за представяне на букви от азбуката или препинателни знаци, се изискват кодови таблици, които показват кой код на кой знак съответства. Компилирани са няколко такива кода. Повечето компютри са конфигурирани със седемцифрен код, наречен ASCII или американски стандартен код за обмен на информация. Таблицата вдясно показва ASCII кодовете за английската азбука. Други кодове са за хиляди знаци и азбуки на други езици по света.

Част от ASCII кодова таблица

Ако се интересувате да научите как да четете двоични числа, важно е да разберете как работят двоичните числа. Двоичната система е известна като система за номериране "база 2", което означава, че има две възможни числа за всяка цифра; едно или нула. Големите числа се записват чрез добавяне на допълнителни двоични единици или нули.



Разбиране на двоичните числа


Да знаете как да четете двоични файлове не е критично за използването на компютри. Но е добре да разберете концепцията, за да разберете по-добре как компютрите съхраняват числа в паметта. Той също така ви позволява да разберете термини като 16-битов, 32-битов, 64-битов и измервания на паметта като байтове (8 бита).



„Четенето“ на двоичен код обикновено означава преобразуване на двоичното число в числото с основа 10 (десетично), което хората познават. Това преобразуване е доста лесно да се направи в главата ви, след като разберете как работи един двоичен език.

Всяка цифра в двоично число има конкретно значение, освен ако цифрата не е нула. След като определите всички тези стойности, просто ги събирате заедно, за да получите 10-цифрената десетична стойност на двоичното число. За да видите как работи това, вземете двоичното число 11001010.


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



2. След това преминете към следващата цифра. Ако е едно, пресметнете две на степен едно. Запишете тази стойност. В този пример стойността е степен на две, равна на две.



3. Продължете да повтаряте този процес, докато стигнете до най-левия номер.



4. За да завършите, всичко, което трябва да направите, е да съберете всички тези числа, за да получите общата десетична стойност на двоичното число: 128 + 64 + 0 + 0 + 8 + 0 + 2 + 0 = 202 .


Бележката: Друг начин да видите целия този процес под формата на уравнение е следният: 1 x 2 7 + 1 x 2 6 + 0 x 2 5 + 0 x 2 4 + 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 0 x 2 0 = 20.


Двоични числа със сигнатура


Горният метод работи за основни двоични числа без знак. Компютрите обаче се нуждаят от начин да представят отрицателни числа също и с помощта на двоичен код.


Поради това компютрите използват двоични числа със знак. В този тип система най-лявата цифра е известна като знаков бит, а останалите цифри са известни като амплитудни битове.


Четенето на двоично число със знак е почти същото като неподписано, с една малка разлика.


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



2. За да определите знака, погледнете най-левия бит. Ако е едно, то числото е отрицателно. Ако е нула, тогава числото е положително.



3. Сега направете същите изчисления като преди, но приложете подходящия знак към числото, посочено от най-левия бит: 64 + 0 + 0 + 8 + 0 + 2 + 0 = -74 .


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

Компютрите не разбират думите и числата, както хората. Съвременният софтуер позволява на крайния потребител да игнорира това, но на най-ниските нива вашият компютър работи с двоичен електрически сигнал, който има само две състояния: дали има ток или не. За да "разбере" сложни данни, вашият компютър трябва да ги кодира в двоичен формат.

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

Преброяване в двоичен формат

В двоичния израз първата цифра е еквивалентна на 1 в десетичната система. Втората цифра е 2, третата е 4, четвъртата е 8 и така нататък - удвоявайки се всеки път. Добавянето на всички тези стойности ще ви даде числото в десетичен формат.

1111 (в двоичен) = 8 + 4 + 2 + 1 = 15 (в десетичен)

Отчитането на 0 ни дава 16 възможни стойности за четири двоични бита. Преместете 8 бита и ще получите 256 възможни стойности. Това заема много повече място за представяне, тъй като четири десетични цифри ни дават 10 000 възможни стойности. Разбира се, двоичният код заема повече място, но компютрите разбират двоичните файлове много по-добре от десетичната система. И за някои неща, като логическа обработка, двоичната е по-добра от десетичната.

Трябва да се каже, че има друга основна система, която се използва в програмирането: шестнадесетичен. Въпреки че компютрите не работят в шестнадесетичен формат, програмистите го използват, за да представят двоични адреси в четим от човека формат, когато пишат код. Това е така, защото две цифри в шестнадесетично число могат да представляват цял ​​байт, което означава, че заместват осем цифри в двоична система. Шестнадесетичната система използва числата 0-9, както и буквите от A до F, за да създаде допълнителни шест цифри.

Защо компютрите използват двоични файлове?

Кратък отговор: хардуер и закони на физиката. Всеки знак във вашия компютър е електрически сигнал, а в ранните дни на компютрите измерването на електрическите сигнали беше много по-трудно. Имаше по-голям смисъл да се разграничи само състоянието "включено", представено от отрицателен заряд, и състоянието "изключено", представено от положителен заряд.

За тези, които не знаят защо "изключено" е представено от положителен заряд, това е защото електроните имат отрицателен заряд, а повече електрони означава повече ток с отрицателен заряд.

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

Ето диаграма на типичен транзистор:

По същество той позволява на тока да тече от източника към изтичането, ако има ток в портата. Това формира двоичен ключ. Производителите могат да направят тези транзистори невероятно малки - до 5 нанометра или размера на две вериги на ДНК. Ето как работят съвременните процесори и дори те могат да страдат от проблеми при разграничаване между включени и изключени състояния (въпреки че това се дължи на нереалистичния им молекулен размер, който е подложен на странността на квантовата механика).

Защо само двоична система

Така че може би си мислите: „Защо само 0 и 1? Защо не добавите друг номер? Въпреки че това отчасти се дължи на традициите за създаване на компютри, в същото време добавянето на друга цифра би означавало необходимостта да се разграничи друго състояние на тока, а не само „изключено“ или „включено“.

Проблемът тук е, че ако искате да използвате няколко нива на напрежение, имате нужда от начин за лесно извършване на изчисления върху тях, а настоящият хардуер, способен на това, не е жизнеспособен като заместител на двоичните изчисления. Например има т.нар троен компютър, разработен през 50-те години на миналия век, но развитието спря дотук. Тернарна логика по-ефективен от двоичния, но все още няма ефективен заместител на двоичния транзистор или поне няма транзистор в същия малък мащаб като двоичния.

Причината да не можем да използваме троичната логика се свежда до това как транзисторите са свързани в компютъра и как се използват за математически изчисления. Транзисторът получава информация на два входа, извършва операция и връща резултата на един изход.

По този начин бинарната математика е по-лесна за компютъра от всичко друго. Двоичната логика лесно се преобразува в двоични системи, като True и False съответстват на On и Off състояния.

Двоичната таблица на истината, работеща на двоична логика, ще има четири възможни изхода за всяка фундаментална операция. Но тъй като тройните порти използват три входа, тройната таблица на истината ще има 9 или повече. Докато двоичната система има 16 възможни оператора (2^2^2), троичната система би имала 19683 (3^3^3). Мащабирането се превръща в проблем, защото докато trinity е по-ефективно, то е и експоненциално по-сложно.

Кой знае?В бъдеще може да видим троични компютри, тъй като двоичната логика е изправена пред проблеми с миниатюризацията. Засега светът ще продължи да работи в двоичен режим.

Реших да направя такъв инструмент като конвертиране на текст в двоичен код и обратно, има такива услуги, но те обикновено работят с латинската азбука, но моята преводачът работи с unicode кодиране във формат UTF-8, който кодира кирилските знаци в два байта.В момента възможностите на транслатора са ограничени до двубайтови кодировки, т.е. Не е възможно да се преведат китайски йероглифи, но ще поправя това досадно недоразумение.

За преобразуване на текст в двоично представяневъведете текста в левия прозорец и щракнете върху TEXT->BIN в десния прозорец, ще се появи неговото двоично представяне.

За преобразуване на двоичен код в текствъведете кода в десния прозорец и натиснете BIN->TEXT; неговото символно представяне ще се появи в левия прозорец.

Ако превод на двоичен код в текстили обратното не се получи - проверете коректността на вашите данни!

Актуализация!

Вече е налична обратна текстова трансформация на формуляра:

обратно към нормалното. За да направите това, трябва да поставите отметка в квадратчето: „Заменете 0 с интервали и 1 с контейнер █.“ След това поставете текста в дясното поле: „Текст в двоично представяне“ и щракнете върху бутона под него „BIN->TEXT“.

Когато копирате такива текстове, трябва да внимавате, защото... Можете лесно да загубите интервали в началото или края. Например, редът в горната част изглежда така:

██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

и на червен фон:

██ █ █ ███████ █ ██ ██ █ █ ███ ██ █ █ ██ █ ██ █ █ ██ █ ███ █ ██ █ █ ██ █ █ ███ ██ █ █ ███ ██ █ ██

Виждате ли колко полета в края можете да загубите?

Двоичният код представлява текст, инструкции на компютърния процесор или други данни, използвайки произволна двусимволна система. Най-често това е система от 0 и 1, която присвоява модел от двоични цифри (битове) на всеки символ и инструкция. Например, двоичен низ от осем бита може да представлява всяка от 256 възможни стойности и следователно може да генерира много различни елементи. Прегледите на двоичния код от световната професионална общност на програмистите показват, че това е основата на професията и основният закон на функционирането на компютърните системи и електронните устройства.

Дешифриране на двоичния код

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

Двоично декодиране: битов низ, интерпретиран като двоично число, може да бъде преобразуван в десетично число. Например малката буква a, ако е представена от битовия низ 01100001 (както в стандартния ASCII код), може също да бъде представена като десетично число 97. Преобразуването на двоичен код в текст е същата процедура, само в обратен ред.

Как работи

От какво се състои двоичният код? Кодът, използван в цифровите компютри, се основава на това, че има само две възможни състояния: включено. и изключено, обикновено означавано с нула и едно. Докато в десетичната система, която използва 10 цифри, всяка позиция е кратна на 10 (100, 1000 и т.н.), в двоичната система всяка позиция на цифрата е кратна на 2 (4, 8, 16 и т.н.) . Сигналът с двоичен код е поредица от електрически импулси, които представляват числа, символи и операции, които трябва да бъдат извършени.

Устройство, наречено часовник, изпраща регулярни импулси и компоненти като транзистори се включват (1) или изключват (0), за да предават или блокират импулсите. В двоичния код всяко десетично число (0-9) е представено от набор от четири двоични цифри или бита. Четирите основни операции на аритметиката (събиране, изваждане, умножение и деление) могат да бъдат сведени до комбинации от фундаментални булеви алгебрични операции върху двоични числа.

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

Прегледи на двоичен код

Природата на кода и данните е основна част от фундаменталния свят на ИТ. Този инструмент се използва от специалисти от глобалното ИТ „зад кулисите“ - програмисти, чиято специализация е скрита от вниманието на обикновения потребител. Прегледите на двоичния код от разработчиците показват, че тази област изисква задълбочено изучаване на математическите основи и обширна практика в областта на математическия анализ и програмиране.

Двоичният код е най-простата форма на компютърен код или програмни данни. Представен е изцяло от двоична цифрова система. Според прегледите на двоичния код, той често се свързва с машинен код, тъй като двоичните набори могат да бъдат комбинирани, за да образуват изходен код, който се интерпретира от компютър или друг хардуер. Това е отчасти вярно. използва набори от двоични цифри за формиране на инструкции.

Заедно с най-основната форма на код, двоичният файл представлява и най-малкото количество данни, което преминава през всички сложни хардуерни и софтуерни системи от край до край, които обработват днешните ресурси и активи от данни. Най-малкото количество данни се нарича бит. Текущите низове от битове стават код или данни, които се интерпретират от компютъра.

Двоично число

В математиката и цифровата електроника двоичното число е число, изразено в числова система с основа 2 или двоична числова система, която използва само два знака: 0 (нула) и 1 (едно).

Бройната система с основа 2 е позиционен запис с радиус 2. Всяка цифра се нарича бит. Поради простата си реализация в цифрови електронни схеми, използващи логически правила, двоичната система се използва от почти всички съвременни компютри и електронни устройства.

История

Съвременната двоична бройна система като основа за двоичен код е изобретена от Готфрид Лайбниц през 1679 г. и е представена в неговата статия „Обяснена двоичната аритметика“. Двоичните числа са централни за теологията на Лайбниц. Той вярваше, че двоичните числа символизират християнската идея за творчество ex nihilo или създаване от нищо. Лайбниц се опита да намери система, която да трансформира вербалните логически твърдения в чисто математически данни.

Двоичните системи, предхождащи Лайбниц, също са съществували в древния свят. Пример за това е китайската двоична система И Дзин, където текстът за гадаене се основава на двойствеността на ин и ян. В Азия и Африка барабани с прорези с бинарни тонове са били използвани за кодиране на съобщения. Индийският учен Пингала (около 5 век пр. н. е.) разработи двоична система, за да опише прозодията в своя труд Чандашутрема.

Жителите на остров Мангарева във Френска Полинезия са използвали хибридна двоично-десетична система до 1450 г. През 11-ти век ученият и философ Шао Йонг разработи метод за организиране на хексаграми, който съответства на последователността от 0 до 63, както е представена в двоичен формат, като ин е 0, а ян е 1. Редът също е лексикографски ред в блокове от елементи, избрани от набор от два елемента.

Ново време

През 1605 г. обсъжда система, в която буквите от азбуката могат да бъдат редуцирани до последователности от двоични цифри, които след това могат да бъдат кодирани като фини вариации на типа във всеки произволен текст. Важно е да се отбележи, че Франсис Бейкън е този, който допълва общата теория на двоичното кодиране с наблюдението, че този метод може да се използва с всякакви обекти.

Друг математик и философ на име Джордж Бул публикува статия през 1847 г., наречена „Математически анализ на логиката“, която описва алгебричната система на логиката, известна днес като булева алгебра. Системата се основава на двоичен подход, който се състои от три основни операции: И, ИЛИ и НЕ. Тази система не заработи, докато студент от MIT на име Клод Шанън не забеляза, че булевата алгебра, която изучаваше, беше подобна на електрическа верига.

Шанън написва дисертация през 1937 г., която прави важни открития. Тезата на Шанън стана отправна точка за използването на двоичен код в практически приложения като компютри и електрически вериги.

Други форми на двоичен код

Bitstring не е единственият тип двоичен код. Двоична система като цяло е всяка система, която позволява само две опции, като например превключване в електронна система или прост верен или неверен тест.

Брайловото писмо е вид двоичен код, широко използван от незрящи хора за четене и писане чрез докосване, кръстен на своя създател Луис Брайл. Тази система се състои от решетки от по шест точки, по три на колона, в които всяка точка има две състояния: повдигната или вдлъбната. Различни комбинации от точки могат да представляват всички букви, цифри и препинателни знаци.

Американският стандартен код за обмен на информация (ASCII) използва 7-битов двоичен код за представяне на текст и други знаци в компютри, комуникационно оборудване и други устройства. На всяка буква или символ се присвоява номер от 0 до 127.

Двоично кодиран десетичен или BCD е двоично кодирано представяне на цели числа, което използва 4-битова графика за кодиране на десетични цифри. Четири двоични бита могат да кодират до 16 различни стойности.

В BCD-кодираните числа само първите десет стойности във всяка хапка са валидни и кодират десетичните цифри с нули след деветките. Останалите шест стойности са невалидни и могат да причинят или изключение на машината, или неопределено поведение, в зависимост от внедряването на BCD аритметика на компютъра.

BCD аритметиката понякога се предпочита пред числовите формати с плаваща запетая в търговски и финансови приложения, където поведението при закръгляване на сложни числа е нежелателно.

Приложение

Повечето съвременни компютри използват програма с двоичен код за инструкции и данни. CD, DVD и Blu-ray дискове представят аудио и видео в двоична форма. Телефонните разговори се извършват цифрово в междуселищни и мобилни телефонни мрежи, като се използва импулсна кодова модулация и в мрежи за глас през IP.