КампутарыПраграмаванне

Двайковы код. Віды і даўжыня двайковага кода. Зваротны двайковы код

Двайковы код ўяўляе сабой форму запісу інфармацыі ў выглядзе адзінак і нулёў. Такая сістэма вылічэння з'яўляецца пазіцыйнай з падставай 2. На сённяшні дзень двайковы код (табліца, прадстаўленая трохі ніжэй, утрымлівае некаторыя прыклады запісу лікаў) выкарыстоўваецца ва ўсіх без выключэння лічбавых прыладах. Яго папулярнасць тлумачыцца высокай надзейнасць і прастатой дадзенай формы запісу. Двайковая арыфметыка вельмі простая, адпаведна, яе лёгка рэалізаваць і на апаратным узроўні. Лічбавыя электронныя кампаненты (ці як іх яшчэ называюць - лагічныя) вельмі надзейныя, бо яны аперуюць ў працы ўсяго двума станамі: лагічнай адзінкі (ёсць ток) і лагічнага нуля (няма току). Тым самым яны выгадна адрозніваюцца ад аналагавых кампанентаў, праца якіх заснаваная на пераходных працэсах.

Як складаецца двайковая форма запісу?

Давайце разбярэмся, якім чынам фармуецца такі ключ. Адзін разрад двайковага кода можа ўтрымліваць ўсяго два станы: нуль і адзінку (0 і 1). Пры выкарыстанні двух разрадаў з'яўляецца магчымасць запісаць чатыры значэння: 00, 01, 10, 11. Трехразрядная запіс змяшчае восем станаў: 000, 001 ... 110, 111. У выніку атрымліваем, што даўжыня двайковага кода залежыць ад колькасці разрадаў. Гэты выраз можна запісаць з дапамогай наступнай формулы: N = 2m, дзе: m - гэта колькасць разрадаў, а N - лік камбінацый.

Віды двайковых кодаў

У мікрапрацэсарах такія ключы прымяняюцца для запісу разнастайнай апрацоўванай інфармацыі. Разраднасць двайковага кода можа істотна перавышаць разраднасць працэсара і яго убудаванай памяці. У такіх выпадках доўгія колькасці займаюць некалькі вочак запамінальнай прылады і апрацоўваюцца з дапамогай некалькіх каманд. Пры гэтым усе сектара памяці, якія выдзелены пад шматбайтавую двайковы код, разглядаюцца ў якасці аднаго ліку. У залежнасці ад неабходнасці прадастаўлення той ці іншай інфармацыі, адрозніваюць наступныя віды ключоў:

  • беззнаковые;
  • прамыя целыезнаковые коды;
  • знакавыя зваротныя;
  • знакавыя дадатковыя;
  • код Грэючы;
  • код Грэючы-Экспрэс .;
  • дробавыя коды.

Разгледзім больш дэталёва кожны з іх.

Беззнаковый двайковы код

Давайце разбярэмся, што ж уяўляе сабой такі від запісу. У цэлых беззнаковых кодах кожны разрад (двайковы) уяўляе ступень лічбы два. Пры гэтым найменшае лік, якое можна запісаць у такой форме, роўна нулю, а максімальнае можна ўявіць наступнай формулай: М = 2 п -1. Гэтыя два ліку цалкам вызначаюць дыяпазон ключа, якім можна выказаць такой двайковы код. Давайце разгледзім магчымасці згаданай формы запісу. Пры выкарыстанні гэтага віду беззнакового ключа, які складаецца з васьмі разрадаў, дыяпазон магчымых лікаў складзе ад 0 да 255. Шестнадцатиразрядный код будзе мець дыяпазон ад 0 да 65535. У восьмиразрядных працэсарах для захоўвання і запісы такіх лікаў выкарыстоўваюць два сектара памяці, якія размяшчаюцца ў суседніх адрасата . Працу з такімі ключамі забяспечваюць адмысловыя каманды.

Прамыя цэлыя знакавыя коды

У дадзеным выглядзе двайковых ключоў старэйшы разрад выкарыстоўваецца для запісу знака колькасці. Нуль адпавядае плюсу, а адзінка - мінусу. У выніку ўвядзення дадзенага разраду дыяпазон закадаваныя лікаў ссоўваецца ў адмоўны бок. Атрымліваецца, што восьмиразрядный знакавы цэлы двайковы ключ можа запісаць лікі ў дыяпазоне ад -127 да 127. Шестнадцатиразрядный - у дыяпазоне ад -32767 да 32767. У восьмиразрядных мікрапрацэсарах для захоўвання падобных кодаў выкарыстоўваюць два суседніх сектара.

Недахопам такой формы запісу з'яўляецца тое, што знакавыя і лічбавыя разрады ключа неабходна апрацоўваць асобна. Алгарытмы праграм, якія працуюць з гэтымі кодамі, атрымліваюцца вельмі складанымі. Для змены і вылучэнні знакавых разрадаў неабходна ўжываць механізмы маскіроўкі гэтага сімвала, што спрыяе рэзкага павелічэння памераў праграмнага забеспячэння і памяншэння яго хуткадзейнасці. З мэтай ліквідацыі дадзенага недахопу быў уведзены новы від ключа - зваротны двайковы код.

Знакавы зваротны ключ

Дадзеная форма запісу адрозніваецца ад прамых кодаў толькі тым, што адмоўны лік у ёй атрымліваецца шляхам інвертавання ад тытулу ключа. Пры гэтым лічбавыя і знакавыя разрады ідэнтычныя. Дзякуючы гэтаму, алгарытмы працы з такім выглядам кодаў істотна спрашчаюцца. Аднак зваротны ключ патрабуе адмысловы алгарытм для распазнання сімвала першага разраду, вылічэнні абсалютнай велічыні ліку. А таксама аднаўлення знака выніковага значэння. Больш за тое, у зваротным і прамым кодах колькасці для запісу нуля выкарыстоўваюць два ключы. Нягледзячы на тое што гэта значэнне не мае станоўчага або адмоўнага знака.

Знакавы дадатковы код двайковага ліку

Дадзены від запісу не мае пералічаных недахопаў папярэдніх ключоў. Такія коды дазваляюць праводзіць непасрэднае сумаванне як станоўчых, так і адмоўных лікаў. Пры гэтым не праводзіцца аналіз знакавага разраду. Усё гэта стала магчымым дзякуючы таму факту, што дадатковыя колькасці ўяўляюць сабой натуральнае кольца сімвалаў, а не штучныя ўтварэнні, такія як прамыя і зваротныя ключы. Больш за тое, важным фактарам з'яўляецца, то што зрабіць вылічэнні дапаўненняў у двайковых кодах надзвычай проста. Для гэтага дастаткова да адваротнага ключу дадаць адзінку. Пры выкарыстанні гэтага віду знакавага кода, які складаецца з васьмі разрадаў, дыяпазон магчымых лікаў складзе ад -128 да 127. Шестнадцатиразрядный ключ будзе мець дыяпазон ад -32768 да 32767. У восьмиразрядных працэсарах для захоўвання такіх лікаў таксама выкарыстоўваюць два суседніх сектара.

Двайковы дадатковы код цікавы назіраным эфектам, які называюць з'явай распаўсюджвання знака. Давайце разбярэмся, што гэта значыць. Дадзены эфект заключаецца ў тым, што ў працэсе пераўтварэння однобайтового значэння ў двухбайтовое досыць кожнаму біту старэйшага байта прызначыць значэння знакавых бітаў малодшага байта. Атрымліваецца, што для захоўвання знакавага сімвала колькасці можна скарыстацца старэйшымі бітамі. Пры гэтым значэнне ключа зусім не змяняецца.

код Грэючы

Дадзеная форма запісу, па сутнасці, з'яўляецца одношаговым ключом. Гэта значыць, у працэсе пераходу ад аднаго значэння да іншага змяняецца ўсяго толькі адзін біт інфармацыі. Пры гэтым хібнасць пры счытванні дадзеных прыводзіць да пераходу ад аднаго становішча да іншага з нязначным зрушэннем па часе. Аднак атрыманне зусім няслушнага выніку вуглавога становішча пры такім працэсе цалкам выключаецца. Годнасцю такога кода з'яўляецца яго здольнасць люстрана адлюстроўваць інфармацыю. Напрыклад, Інвертуем старэйшыя біты, можна проста змяняць кірунак адліку. Гэта адбываецца дзякуючы кіраўніку ўваходу Complement. Пры гэтым выдаецца значэнне можа быць як узрастаючым, так і які падаў пры адным фізічным кірунку кручэння восі. Бо інфармацыя, запісаная ў ключы Грэючы, мае выключна Кадаваць характар, які не нясе рэальных лікавых дадзеных, то перад далейшай працай патрабуецца папярэдне пераўтварыць яго ў звычайную бінарную форму запісу. Ажыццяўляецца гэта з дапамогай адмысловага пераўтваральніка - дэкодэра Грэй-Бинар. Дадзеная прылада лёгка рэалізуецца на элементарных лагічных элементах як апаратным, так і праграмным спосабам.

Код Грэючы-Экспресс

Стандартны одношаговый ключ Грэй падыходзіць для рашэнняў, якія прадстаўлены ў выглядзе лікаў, збудаваных у ступень два. У выпадках, дзе неабходна рэалізоўваць іншыя рашэнні, з такой формы запісу выразаюць і выкарыстоўваюць толькі сярэдні ўчастак. У выніку захоўваецца одношаговость ключа. Аднак у такім кодзе пачаткам лікавага дыяпазону не з'яўляецца нуль. Ён ссоўваецца на зададзенае значэнне. У працэсе апрацоўкі дадзеных ад генераваных імпульсаў адымаюць палову розніцы паміж пачатковым і рэдукаваным дазволам.

Прадстаўленне зборныя, дробавыя ў двайковым ключы з фіксаванай коскі

У працэсе працы даводзіцца апераваць не толькі цэлымі лічбамі, але і дробавымі. Такія лічбы можна запісваць з дапамогай прамых, зваротных і дадатковых кодаў. Прынцып пабудовы згаданых ключоў такі ж, як і ў цэлых. Да гэтага часу мы лічылі, што двайковая коска павінна знаходзіцца справа ад малодшага разраду. Але гэта не так. Яна можа размяшчацца і злева ад старэйшага разраду (у такім выпадку ў якасці зменнай можна запісваць выключна дробавыя лікі), і пасярэдзіне зменнай (можна запісваць змешаныя значэння).

Прадстаўленне двайковага кода з якая плавае коскі

Такая форма ўжываецца для запісу вялікіх лікаў, альбо наадварот - вельмі малых. У якасці прыкладу можна прывесці міжзорныя адлегласці або памеры атамаў і электронаў. Пры вылічэнні такіх значэнняў давялося б ўжываць двайковы код з вельмі вялікі разраднасцю. Аднак нам няма неабходнасці ўлічваць касмічныя адлегласць з дакладнасцю да міліметра. Таму форма запісу з фіксаванай коскі ў дадзеным выпадку неэфектыўная. Для адлюстравання такіх кодаў выкарыстоўваецца алгебраічная форма. Гэта значыць лік запісваецца як мантисса, памножаная на дзесяць ў ступені, якая адлюстроўвае патрэбны парадак чысла. Варта ведаць, што мантисса не павінна быць больш адзінкі, а пасля коскі не павінен запісвацца нуль.

Гэта цікава

Лічыцца, што двайковае падлік было вынайдзена ў пачатку 18-га стагоддзя матэматыкам з Германіі Готфрыдам Лейбніцам. Аднак, як нядаўна адкрылі навукоўцы, задоўга да гэтага абарыгены палінезійскі выспы Мангареву выкарыстоўвалі гэты від арыфметыкі. Нягледзячы на тое што каланізацыя практычна цалкам знішчыла арыгінальныя сістэмы вылічэння, навукоўцы аднавілі складаныя двайковыя і дзесятковыя віды рахунку. Акрамя таго, вучоны Когнитивист Нуньес сцвярджае, што кадаваньне двайковым кодам ўжывалася ў старажытным Кітаі яшчэ ў 9-м стагоддзі да н. э. Іншыя старажытныя цывілізацыі, напрыклад, індзейцы майя, таксама выкарыстоўвалі складаныя камбінацыі дзесятковых і бінарных сістэм для адсочвання часовых інтэрвалаў і астранамічных з'яў.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.atomiyme.com. Theme powered by WordPress.