Ондық сандар. Ондық сандарды кодалау. Есептеу машиналары мен жүйелерінің көбінде машина
ішіндегі информацияны өңдеу, сақтау жəне оны түрлендіру үшін екілік алфавитте пен есептеудің екілік жүйесі қолданылады. Алайда адамның машинамен байланысын жеңілдету үшін сандық информацияларды ондық жүйеде дайындау жəне машинаға енгізу, информация өңдеу нəтижелерін осы адамға үйреншікті де ыңғайлы ондық жүйеде алу мүмкіндігі болу керек. Осы мақсат үшін ондық цифрларды екілік алфавит əріптерімен (0 жəне 1) көрсетуге мүмкіндік беретін арнайы код қажет. Мұндай кодтар екілік-ондық кодтар деп аталады. Кодтардың бірнеше жүйелері бар. Олардың қайсыбірін таңдау есептеуіш машиналарда ондық информацияны пайдалану ерекшеліктеріне байланысты.
Егер ондық сандлар тек информацтяны енгізу жəне шығару кезінде ғана қолданылса, ал есептеулер екілік жүеде жүрігізілсе, онда ондық сандарды кодтау жүйесіне маңызды талаптар ретінде ондық сандарды өрнектеудің
көрнекілігі мен ондық жүйеден екілік жүйеге жəне керісінше шешудің қарапайымдылығы қарастырылады. Егер де сандарға қолданылатын операциялар да ондық жүйеде
орындалатын болса, онда ондық сандарды
кодтау тəсілін арифметикалық операциялар орындалуының қолайлығына қарай таңдауға тура келеді. Ондық мəліметтерді дайындау мен оларды машинаға беру сенімділігін қамтамасыз ету үшін, түсіп жатқан мəліметтердің дұрыстығын тексеретін жəне мəліметті бергенде қолайлы болатын кодтау тəсілін таңдап алу қажет.
Екілік алфавиттің əріптері арқылы ондық цифрларды кодтау жүйесі келесі шарттарды қанағаттандыруға тиіс: а) код сөзіне көрші жазылоған таңбалар арасындағы шекара оңай анықталуға тиіс; б) əрбір кодқа екілік алфавиттің бір ғана əріптер комбинациясы сəйкес келуге тиіс. Бəрінен де оңай қанағаттандырылатын бірінші шарт, ол үшін барлық символдар кодтарының ұзындықтары (разрядтар саны) бірдей болуы керек. k əртүрлі
символдарды
өрнегімен анықталады. Ондық цифрларды белгілеу үшін мүмкін болатын оналтыдан тек қана он əр түрлі жиынтық пайдаланылады. Осы он жиынтықтың əр түрлі таңдалуы əр түрлі екілі-ондық кодтарды анықтайды. Ондық цифрларды кодтауға пайдаланылмайтын жиынтықтар есептеу машиналарында таңбалар мен қызметтік символдарды өрнектеп көрсету үшін қолданылады.
2.12-кестеде кейбір салмақталған жəне салмақталмаған екілі-ондық кодтар келтірілген, бұлар есептеу техникасында ең көп таралғандар (кодтардың аты разрядтардың аталған салмағына байланысты).
Ондық санау жүйесінен екілі-ондық жүйеге көшу жəне керісінше көшу баламалық кесте арқылы жүзеге асырылады. Ол 2.12-кестеде көрсетілген. Басқа
санау жүйелерінен (
h ¹ 10 ) сандарды екілі-ондық жүйеге көшіру жəне керісінше көшіру алдын-ала ондық санау жүйесіне көшу арқылы жүзеге асырылады.
8421-код. Есептеу техникасында D1 тікелеу алмастыру коды (8421 жүйесі) ең көп тараған. Мұнда əрбір ондық санның цифры оған сəйкес төрт разрядты екілік санмен алмастырылады. Бұл код ондық жүйеден екілік жүйеге жəне керісінше түрлендірулерді машинамен орындауға өте ыңғайлы.
D1 коды аддитивті, өйткені екі цифрдың көрсетілуі олардың қосындысынң коды болып табылады. Бірақ та осы код ондық сандарға қолданылатын арифметикалық операцияларды іске асыруда өте ыңғайсыз. Бұл - 8421 кодын қолданғанда келесі ондық разрядқа өтетін тасымалды анықтаудың қиындығына жəне алгебралық қосындыларды орындауды оңайлататын кері жəне
қосымша
кодқа көшудің күрделілігіне байланысты. Мұны былай түсініруге болады: 8421 коды өзін-өзі толықтырмайтын, яғни оның екілік цифрларының инверсиясы ондық цифрды 9-ға дейін толықтыратын код бермейді. Оны 8421+6 (D3) коды толықтырады. Сондықтан D3 коды алтыға артық код болып табылады. Ол D1
кодымен бірге қолданылады.
2.12 – кесте
Ондық
цифрлар
|
Салмақталған кодтар
|
Салмақталмаған кодтар
|
8421 (D1)
|
2421
|
7421
|
8421+3 (D2)
|
8421+6 (D3)
|
0
|
0000
|
0000
|
0000
|
0011
|
0110
|
1
|
0001
|
0001
|
0001
|
0100
|
0111
|
2
|
0010
|
0010
|
0010
|
0101
|
1000
|
3
|
0011
|
0011
|
0011
|
0110
|
1001
|
4
|
0100
|
0100
|
0100
|
0111
|
1010
|
5
|
0101
|
1011
|
0101
|
1000
|
1011
|
6
|
0110
|
1100
|
0110
|
1001
|
1100
|
7
|
0111
|
1101
|
1000
|
1010
|
1101
|
8
|
1000
|
1110
|
1001
|
1011
|
1110
|
9
|
1111
|
1111
|
1010
|
1100
|
1111
|
2421-код. 2.12-кестеден көрініп тұрғандай өзін-өзі толықтыратын код болып табылады. Бұл код қолданылған кезде кері жəне қосымша кодтарға көшу жəне тасымалдауды анықтау оңайланады. Бірақ та, 2.12-кестеден көрініп тұрғандай кодтың аддитивтік қасиеті жоқ, бұл арифметикалық құрылғыларды жасауда қиындыққа алып келеді.
7421-код. Құрамында барлығы 14 бірлік болатындығымен ерекшеленеді. Егер де энергия шығыны бір кодын сақтау мен оны беруге байланысты болса, онда бұл код ең тиімді болып табылады. Бұл кодта 7 цифрын 011 жəне 1000 түрінде көрсетуге болар еді. Бұлардың кейінгісі (бірліктері аз) таңдап алынған.
8421+3 (үшке артық) код (D2). Ондық сандармен арифметикалық операциялар орындауға өте ыңғайлы, себебі өзін-өзі
толықтыратын код болып
табылады. Сонымен қатар тасымалдау оңай анықталады, өйткені əрқайсысы 3- ке артықтығымен алынатын екі сандар қосындысы алтыға артық болып шығады. Дұрыс қосынды алу үшін табылған нəтижеден 3-ке азайтылады. Үшке артық код (D2) сандарды бір санау жүйесінен екіншісіне көшу өте ыңғайсыз.
Ондық мəліметтерді машина арқылы көрсету үшін екі формат қолданылады: зоналық жəне орауышталған (құндақталған). Зоналық формат жағдайында ондық информацияны көрсеткенде əрбір байтта бір ондық цифр мен қызметтік зона болады. Бұл жағдайда байттың төрт он разрядтарына ондық цифр екілі-ондық кодта көрсетіледі. Форматтың кіші байтында сан таңбасының кодтары мен оның төменгі ондық цифры орналасады.
Цифрлық есепеуіш машинада (ЦЕМ) "+","-" таңбалары үшін жəне зоналар үшін қоланылған символдарды кодтау жүйесіне (EBCDIC, ASCII-8 жəне т.б.) байланысты əр түрлі кодтар пайланылады. EBCDIC кодында белгілеу
қ
6
|
2
|
8
|
-5
|
11110110
|
11110010
|
11111000
|
11010101
|
абылданған: "+"-1100, "-"-1 101 жəне зона -1111. ASCII-8 кодында "+"-1010, "- "-1011 жəне зона - 0101 деп белгіленеді. -6,285 саны зоналық ондық форматта (EBCDIC кодымен жұмыс істегенде) мынадай түрге ие болады:
бұл жағдайда ондық үтірдің (нүктенің) алғаг орны турады мəлімет есеп программасында көрсетіледі. Бұл форматта разрядтың цифрларыннан басқа
ЭЕМ БЖ-да орауышталған форматта ондық санның 1-ден 16-байтқа дейінгі ұзындығы бар болуы мүмкін. Бұл жағдайда санның ең үлкен ұзындығы -