Տեսություն

Համակարգչում թվային ինֆորմացիայի կոդավորումն ուսումնասիրելու համար նախ եկեք տեսնենք, թե տասական թիվը իրականում ինչպե՞ս է ձևավորվում:
Օրինակ
\(345\) թիվն ուսումնասիրելիս նկատում ենք, որ այն պարունակում է \(3\) հարյուրակ, \(4\) տասնյակ և \(5\) միավոր: Այսպիսով ստացվում է, որ
 
\(345 = 3*100 + 4*10 + 5 = 3*102 + 4*101 + 5*100\)Նկատենք, որ կարևոր օրինաչափություն կա թվի մեջ թվանշանի դիրքի և \(10\)-ի այն աստիճանի միջև, որի օգնությամբ ստացվում է յուրաքանչյուր գումարելի. \(345\) թվի \(3\) թվանշանը \(2\)-րդ դիրքում է (եթե թվանշանների դիրքերը համարակալենք աջից ձախ` սկսած \(0\)-ից), \(4\)-ը` \(1\)-ին և \(5\)-ը` \(0\): Այսպիսով` յուրաքանչյուր գումարելի ստացվել է տվյալ թվանշանի և \(10\)-ի այն աստիճանի արտադրյալով, որը հավասար է տվյալ թվանշանի դիրքի համարին:
Չնայած բերված օրինակը վերաբերում է տասական համակարգին` պետք է ասել, որ երկուական համակարգի թիվը տասական համակարգում ներկայացնելու համար նորից պետք է ելնել վերը նշված օրինաչափությունից: Օրինակ` երկուական \(101101\)թիվը տասական համակարգում ներկայացնելու համար անհրաժեշտ է կազմակերպել գումար, որտեղ յուրաքանչյուր գումարելի ստացվում է թվի համապատասխան թվանշանը բազմապատկելով երկուսի այն աստիճանով, որ դիրքում գտնվում է այդ թվանշանը: Թվի մեջ թվանշանների դիրքերի համարակալումը կատարվում է աջից ձախ, սկսած նախնական \(0\)-ից:
 
1.JPG 
  
Տասական թիվը երկուական համակարգում ներկայացնելու համար անհրաժեշտ է հաջորդաբար իրականացնել հետևյալ գործողությունները`

* թիվը բաժանել \(2\)-ի,
* առանձնացնել բաժանման արդյունքում ստացված ամբողջ մնացորդը, իսկ քանորդը նորից բաժանել \(2\)-ի,
* բաժանումների և մնացորդների առանձնացման գործընթացը կրկնել այնքան, քանի դեռ ստացվող քանորդը մեծ է կամ հավասար \(2\)-ի,
* թվի երկուական ներկայացումը ստանալ` հաջորդաբար վերջից մինչև սկիզբ առանձնացված մնացորդների կցագրմամբ:
Օրինակ` տասական \(97\)ամբողջ թիվը ներկայացնենք երկուական համակարգում.
 
2.JPG
 
Առանձնացված մնացորդների` վերջից դեպի սկիզբ հաջորդական կցագրմամբ կստանանք տասական \(97\) թվի երկուական գրառումը` 6.JPG
 
Աղյուսակում բերված են \(0\)-ից \(15\) տասական ամբողջ թվերի երկուական համարժեքները՝
 
Screenshot_3.png

Եթե ստեղնաշարի յուրաքանչյուր տառա-թվային ստեղնի համապատասխանության մեջ դնենք որոշակի ամբողջ թիվ (օրինակ` համար), ապա վերջինիս երկհիմնային կոդի օգնությամբ, այսպիսով, կարելի է կոդավորել նաև տեքստային ինֆորմացիան:

Համակարգչում յուրաքանչյուր պայմանանշանի կոդավորման համար հատկացվում է մեկ բայթ ծավալով հիշողություն, այսինքն` ութ բիթ: Քանի որ յուրաքանչյուր բիթ կարող է ընդունել ընդամենը երկու հնարավոր արժեքներ`\(0\) կամ 1, ապա \(8\) բիթի օգնությամբ կարելի է կոդավորել 7.JPG տարբեր պայմանանշաններ, որոնք համարակալվում են \(0\)-ից մինչև \(255\) ամբողջ թվերով: Այսքանը բավարարում է կոդավորելու լատինական, ռուսական և հայկական այբուբենի մեծատառերն ու փոքրատառերը, \(0\)-ից \(9\) թվանշանները, կետադրության նշանները, թվաբանական գործողությունների հիմնական պայմանանշանները և որոշ քանակությամբ հատուկ այլ պայմանանշաններ:

Մյուս աղյուսակում ներկայացված են որոշ պայմանանշանների կոդեր: Բերված աղյուսակի օգնությամբ, օրինակ, կոդ բառը կարելի է ներկայացնել \(11001111  11100001  10111001\) երկուական թվի տեսքով:
 
4.JPG

Եթե երկուական կոդը ութից պակաս թվանշաններ է պարունակում, ապա անհրաժեշտ է այն ձախից լրացնել զերոներով: Օրինակ` \(101001\) կոդը պարունակում է ընդամենը \(6\) պայմանանշան, հետևաբար լրիվ կոդը կլինի \(00101001\): Նկատենք, որ ստացվածը կոդային աղյուսակում համապատասխանում է \(«)»\) պայմանանշանին:

Ընդհանրապես` երկուական համակարգով կոդավորված տեքստային ինֆորմացիան հասկանալու համար անհրաժեշտ է երկուական թիվն աջից դեպի ձախ բաժանել ութնյակների (կիսատ ձախ եզրային ութնյակը լրացնել զրոներով) և յուրաքանչյուր նման ութնյակ փոխարինել համապատասխան պայմանանշանով:

Օրինակ` վերծանենք \(11101010111000011101110110110011\) երկուական կոդը:
 
Դրա համար, նախ, այն աջից բաժանենք ութնյակների` \(11101010 11100001 11011101 10110011\), ապա կոդային աղյուսակի օգնությամբ կցագրենք յուրաքանչյուր ութնյակին համապատասխանող պայմանանշանը: Կստանանք Սոնա գրառումը:
 
Համեմատության համար դիտարկենք հետևյալ օրինակը: Հաշվարկներում տասական \(25\)թվի երկուական կոդը կներկայացվի մեկ բայթի մեջ` \(00011001\) գրառմամբ, իսկ տեքստի մեջ` երկու բայթում, \(00110010 00110101\) գրառմամբ:

Ինչպես գիտեք, կետային գրաֆիկական խմբագրիչի միջավայրում ստեղծված պատկերները բաղկացած են առանձին կետերից` փիքսելներից: Համակարգչում կետային պատկերը կոդավորելիս, դրա գրաված ծավալը որոշվում է պատկերը պարունակող կետերի թվի և մեկ կետի ինֆորմացիոն ծավալի արտադրյալով: Վերջինս կախված է կետի ընդունած գույների հնարավոր քանակից:

Սև-սպիտակ կետային պատկերի վրա ցանկացած կետի կոդը մեկ բիթ հիշողություն է զբաղեցնում, քանի որ կետը կարող է լինել սև կամ սպիտակ, և, հետևաբար` այստեղ յուրաքանչյուր կետ կարելի է կոդավորել 0 կամ 1 թվանշանների միջոցով: Նկարի յուրաքանչյուր դատարկ վանդակ կոդավորելով 0 թվով, իսկ ներկած վանդակը` 1 թվով, կարելի է ստանալ նկարի կոդը:

Նկարում բերված օրինակում պատկերի հատվածը բաղկացած է \(14x17=238\) կետից և քանի որ յուրաքանչյուր կետի կոդ զբաղեցնում է մեկ բիթ հիշողություն, ապա հատվածի կոդավորման համար կպահանջվի \(238\) բիթ ծավալով հիշողություն:
 
 
5.JPG
 
                                                             Պատկերի
ա) բնական տեսքը,               բ) հատվածի խոշորացված տեսքը,               գ) հատվածի կոդը
 
Գունավոր պատկերի յուրաքանչյուր կետ, որը կարող է ներկված լինել \(16\)գույներով ներկապնակի գույներից որևէ մեկով կոդավորվում է \(4\) բիթի օգնությամբ:

Նման կոդավորման դեպքում նկարում բերված պատկերի հատվածը կզբաղեցնի \(14x17x4=952\) բիթ ծավալով հիշողություն:
 
Ուշադրություն
Ի տարբերություն կետային գրաֆիկայի, վեկտորային պատկերների կոդավորումն իրականացվում է տարբեր եղանակներով: Մասնավորապես` պատկերի բաղադրիչ գրաֆիկական միավորները նկարագրող բանաձևերը կարող են կոդավորվել որպես սովորական տառա-թվային ինֆորմացիա, որը հետագայում կվերամշակվի հատուկ ծրագրերի օգնությամբ: