Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Бөлу





Бөлу төрт тәсілмен бөлінеді:

- қалдықты қалпына келтіріп, қалдықты оңға жылжыту арқылы бөлу;

- қалдықты қалпына келтіріп, бөлгішті оңға жылжыту арқылы бөлу;

- қалдықты қалпына келтірмей, қалдықты солға жылжыту арқылы бөлу;

- қалдықты қалпына келтірмей, бөлгішті оңға жылжыту арқылы бөлу

Тиянақты үтірлі сандарды бөлу. Берілген бөлінгішті (А) бөлгішке (В) бөлу кезінде бөлінді анықталады, екені айқын, өйткені нольге бөлудің ешқандай мағынасы жоқ. Тиянақты үтірлі цифрлық машиналарда сандар көбіне бірден кіші болып өрнектелетіндіктен, бөлінгішке, бөлгішке және бөліндіге қосымша мынадай шектеулер қойылады: |A|<1, |B|<1; |Z|<1. Соңғы теңсіздіктен |A|<|B| екені шығады. Егер де бөлінгіш пен бөлгіш шамаларының арақатынасына байланысты бөлінді бірден үлкен болса, онда операция орындалмайды. Бұл жағдайда операторға арифметикалық құрылғы "разряд торы толып кетті" немесе "қате" деген сигнал береді. Сандарды тура кодта бөлгенде операцияға операндтардың (бөлгіш пен бөлінгіштің) модульдері қатысады. Бөліндінің таңбасы (көбейту операциясындағыдай) бөлінгіш пен бөлгіштің таңбаларын екілік модульмен қосу арқылы анықталады, ал бөліндінің модулі - бөлінгіштің модулін бөлгіштің модуліне бөлу арқылы табылады.

Бөлу процессі бірінен кейін бірі орындалатын: әуелі бөліндіден бөлгішті азайту, сонан соң алдын ала бөлудің әрбір қадамында солға қарай бір разрядқа жылжытылған қалдықтарын бөлгішті азайту операцияларынан тұрады. Егер кезекті қалдық оң болса, онда бөлінді разрядына бірлік жазылады. Азайту процесі қайталанады, қайталаулар саны бөліндінің разрядтылығымен анықталады. Кезекті теріс қалдықты алғаннан кейін бөліндінің келесі разрядының мәнін анықтау үшін қандай әрекеттер жүргізілуіне байланысты қалдықты қалпына келтіріп және оны қалпына келтірмей бөлу әдістерін айырады. Бірінші әдісте В бөлгішін Ri теріс қалдыққа қосу арқылы алдыңғы қалдық қалпына келтіріледі, яғни (Ri+B). Бөліндінің келесі разрядын табу үшін қалпына келтірілген қалдық бір разряд солға жартыланады (яғни екі еселенеді) және одан бөлгіш азайтылады: 2(Ri+B)-В. Екінші әдісте теріс қалдық солға бір разрядқа жылжытылып оған бөлгіш қосылады; 2Ri+B, өйткені 2(Ri+B)-В=2Ri+B.

Осы екі әдісті салыстырып, бірінші әдісте қосу мен азайту операциялары көбірек керек екеніне көз жеткізу оңай. Сондықтан да қазіргі ЭЕМ-де қалпына келтірмей бөлу әдісі жиірек қолданылады. Бөлу орындағанда, егер бөлгішті қозғамай бөлгішті оңға жылжытсақ, онда алынған нәтиже бірдей болады. Сонымен бөлу операциясын орындаудың екі сұлбасы болуы мүмкін:

1) алынған қалдықты қозғамай, бөлгішті оңға жылжыта отырып қалдықтарды қалпына келтіру жолымен бөлу;

2) бөлгішті қозғамай, қалдықтарды солға жылжытып, оларды қалпына келтірмей бөлу.

Қалдықтарды қалпына келтірмей екілік сандарды бөлу алгоритмі мынандай әрекеттерді орындауға келтіріледі:

1) бөлгіш нольге тексеріледі, егер ол нольге тең болса, онда разрядтық тордың аса толу сигналы қалыптасады да, операцияны орындау аяқталады;

2) бөліндінің таңбасы анықталады;

3) бөлінгіштен бөлгіш азайтылады: егер нәтиже (қалдық) болса, онда операция аяқталады (разрядтық тор аса толады);

4) бөлгіш бір разряд оңға жылжытылады немесе алынған қалдық Ri солға бір разряд жылжыту арқылы екі еселенеді;

5) егер болса, онда бөліндіге 0 жазылады да бөлгіш қалдыққа қосылады, ал егер болса, онда бөліндінің кезекті йифры 1-ге тең болады да бөлгіш қалдықтан азайтылады;

6) 4 және 5-пункттерді бөліндінің (n+1) цифрын алғанша қайталанады;

7) бөлінді дөңгелектенеді де оған таңба меншіктеледі. Бөлгішті жылжытып бөлуді іске асыру үшін оңға жылжыту тізбегі бар 2n -разрядты бөлгіш тіркегіші (Тр1) және бөлінді мен қалдықтардың 2n разрядты қосындылағыш (ҚОС), солға жылжыту тізбегі бар бөліндінің (n+1) -разрядты тіркегіші (Тр2), цифрды түрлендіру құрылғысы (ЦТҚ) және басқарушы автомат (БА) керек (5.1-суретті қараңыз). Қалдықтарды жылжытып бөлуді іске асыру үшін n-разрядты бөлгіш тіркегіші (Тр1), (n+1)-разрядты солға жылжыту тізбегі бар n разрядты қосындылағыш (ҚОС), цифрды түрлендіру құрылғысы (ЦТҚ) және басқару сұлбасы - басқарушы автомат (БА) керек. ЦТҚ қалдықтың таңбалық цифрын оны бөліндіге жазар алдында терістеуге арналған құрылымға қосылған. Әр қадамда бөліндінің цифрын бір ғана разрядқа (Тр2) енгізу үшін екі вариантта да бөліндіні солға жылжыту ұйғарылған.

Бөлу сұлбалары варианттарын талдау екінші вариант аппараттық шығындар бойынша бірінші вариантқа қарағанда әлдеқайда тиімді екенін көрсетеді: тіркегіштер мен ҚОС-тардың жалпы разрядтығы бірінші вариантта шамамен 5n-ге, ал екіншіде - 3n-ге тең. Қосындыны жылжытып бөлу операциясының орындалу уақыты , мұнда (n+1)-бөліндінің разрядтылығы (таңбасымен бірге), -қосындыны жылжыту уақыты, - бөлгішті қалдыққа қосу (азайтуға) кететін уақыт. Бөлу уақытын бағалағанда бөлгішті жылжыту уақытын ескермеуге болады, себебі < және ТР1-тегі бөлгішті жылжыту мен ҚОС-тағы қосу (азайту) операцияларын бір уақытта орындауға болады, сондықтан . Сонымен бөлгішті жылжыту бар бөлудің бірінші варианты аппараттық шығындар бойынша үнемді емес, бірақ өте жылдам жұмыс істейді.

Бөліндінің таңбасы .

Қалдықты қалпына келтіре отырып, қалдықты оңға жылжыту арқылы бөлу.

Мысал:

169:13=13

 

Ондық сандар. Ондық сандарды кодалау. Есептеу машиналары мен жүйелерінің көбінде машина ішіндегі информацияны өңдеу, сақтау және оны түрлендіру үшін екілік алфавитте пен есептеудің екілік жүйесі қолданылады. Алайда адамның машинамен байланысын жеңілдету үшін сандық информацияларды ондық жүйеде дайындау және машинаға енгізу, информация өңдеу нәтижелерін осы адамға үйреншікті де ыңғайлы ондық жүйеде алу мүмкіндігі болу керек. Осы мақсат үшін ондық цифрларды екілік алфавит әріптерімен (0 және 1) көрсетуге мүмкіндік беретін арнайы код қажет. Мұндай кодтар екілік-ондық кодтар деп аталады. Кодтардың бірнеше жүйелері бар. Олардың қайсыбірін таңдау есептеуіш машиналарда ондық информацияны пайдалану ерекшеліктеріне байланысты.

Егер ондық сандлар тек информацтяны енгізу және шығару кезінде ғана қолданылса, ал есептеулер екілік жүеде жүрігізілсе, онда ондық сандарды кодтау жүйесіне маңызды талаптар ретінде ондық сандарды өрнектеудің көрнекілігі мен ондық жүйеден екілік жүйеге және керісінше шешудің қарапайымдылығы қарастырылады. Егер де сандарға қолданылатын операциялар да ондық жүйеде орындалатын болса, онда ондық сандарды кодтау тәсілін арифметикалық операциялар орындалуының қолайлығына қарай таңдауға тура келеді. Ондық мәліметтерді дайындау мен оларды машинаға беру сенімділігін қамтамасыз ету үшін, түсіп жатқан мәліметтердің дұрыстығын тексеретін және мәліметті бергенде қолайлы болатын кодтау тәсілін таңдап алу қажет.

Екілік алфавиттің әріптері арқылы ондық цифрларды кодтау жүйесі келесі шарттарды қанағаттандыруға тиіс: а) код сөзіне көрші жазылоған таңбалар арасындағы шекара оңай анықталуға тиіс; б) әрбір кодқа екілік алфавиттің бір ғана әріптер комбинациясы сәйкес келуге тиіс. Бәрінен де оңай қанағаттандырылатын бірінші шарт, ол үшін барлық символдар кодтарының ұзындықтары (разрядтар саны) бірдей болуы керек. k әртүрлі символдарды екілік кодтармен өрнектеп беру үшін кодтың ұзындығы теңсіздігін қанағаттандыратын минимальды бүтін рң санға тең болуы керек. k=10 болғанды n=4 болады.

Қолданылып жүрген екілі-ондық кодтар салмақталған және салмақталмаған болып бөлінеді. Біріншілерінде, С ондық цифрын өрнектейтін екілік жиынтықтың төрт разрядының әрқайсысына анықталған салмақ сәйкестендіріледі. Өйткені ондық цифр С -ның мәні өрнегімен анықталады. Ондық цифрларды белгілеу үшін мүмкін болатын оналтыдан тек қана он әр түрлі жиынтық пайдаланылады. Осы он жиынтықтың әр түрлі таңдалуы әр түрлі екілі-ондық кодтарды анықтайды. Ондық цифрларды кодтауға пайдаланылмайтын жиынтықтар есептеу машиналарында таңбалар мен қызметтік символдарды өрнектеп көрсету үшін қолданылады.

2.12-кестеде кейбір салмақталған және салмақталмаған екілі-ондық кодтар келтірілген, бұлар есептеу техникасында ең көп таралғандар (кодтардың аты разрядтардың аталған салмағына байланысты).

Ондық санау жүйесінен екілі-ондық жүйеге көшу және керісінше көшу баламалық кесте арқылы жүзеге асырылады. Ол 2.12-кестеде көрсетілген. Басқа санау жүйелерінен () сандарды екілі-ондық жүйеге көшіру және керісінше көшіру алдын-ала ондық санау жүйесіне көшу арқылы жүзеге асырылады.

8421-код. Есептеу техникасында D1 тікелеу алмастыру коды (8421 жүйесі) ең көп тараған. Мұнда әрбір ондық санның цифры оған сәйкес төрт разрядты екілік санмен алмастырылады. Бұл код ондық жүйеден екілік жүйеге және керісінше түрлендірулерді машинамен орындауға өте ыңғайлы.

D1 коды аддитивті, өйткені екі цифрдың көрсетілуі олардың қосындысынң коды болып табылады. Бірақ та осы код ондық сандарға қолданылатын арифметикалық операцияларды іске асыруда өте ыңғайсыз. Бұл - 8421 кодын қолданғанда келесі ондық разрядқа өтетін тасымалды анықтаудың қиындығына және алгебралық қосындыларды орындауды оңайлататын кері және қосымша кодқа көшудің күрделілігіне байланысты. Мұны былай түсініруге болады: 8421 коды өзін-өзі толықтырмайтын, яғни оның екілік цифрларының инверсиясы ондық цифрды 9-ға дейін толықтыратын код бермейді. Оны 8421+6 (D3) коды толықтырады. Сондықтан D3 коды алтыға артық код болып табылады. Ол D1 кодымен бірге қолданылады.

2.12 – кесте

Ондық цифрлар Салмақталған кодтар Салмақталмаған кодтар
8421 (D1)     8421+3 (D2) 8421+6 (D3)
           

2421-код. 2.12-кестеден көрініп тұрғандай өзін-өзі толықтыратын код болып табылады. Бұл код қолданылған кезде кері және қосымша кодтарға көшу және тасымалдауды анықтау оңайланады. Бірақ та, 2.12-кестеден көрініп тұрғандай кодтың аддитивтік қасиеті жоқ, бұл арифметикалық құрылғыларды жасауда қиындыққа алып келеді.

7421-код. Құрамында барлығы 14 бірлік болатындығымен ерекшеленеді. Егер де энергия шығыны бір кодын сақтау мен оны беруге байланысты болса, онда бұл код ең тиімді болып табылады. Бұл кодта 7 цифрын 011 және 1000 түрінде көрсетуге болар еді. Бұлардың кейінгісі (бірліктері аз) таңдап алынған.

8421+3 (үшке артық) код (D2). Ондық сандармен арифметикалық операциялар орындауға өте ыңғайлы, себебі өзін-өзі толықтыратын код болып табылады. Сонымен қатар тасымалдау оңай анықталады, өйткені әрқайсысы 3-ке артықтығымен алынатын екі сандар қосындысы алтыға артық болып шығады. Дұрыс қосынды алу үшін табылған нәтижеден 3-ке азайтылады. Үшке артық код (D2) сандарды бір санау жүйесінен екіншісіне көшу өте ыңғайсыз.

Ондық мәліметтерді машина арқылы көрсету үшін екі формат қолданылады: зоналық және орауышталған (құндақталған). Зоналық формат жағдайында ондық информацияны көрсеткенде әрбір байтта бір ондық цифр мен қызметтік зона болады. Бұл жағдайда байттың төрт он разрядтарына ондық цифр екілі-ондық кодта көрсетіледі. Форматтың кіші байтында сан таңбасының кодтары мен оның төменгі ондық цифры орналасады.

Цифрлық есепеуіш машинада (ЦЕМ) "+","-" таңбалары үшін және зоналар үшін қоланылған символдарды кодтау жүйесіне (EBCDIC, ASCII-8 және т.б.) байланысты әр түрлі кодтар пайланылады. EBCDIC кодында белгілеу қабылданған: "+"-1100, "-"-1 101 және зона -1111. ASCII-8 кодында "+"-1010, "-"-1011 және зона - 0101 деп белгіленеді. -6,285 саны зоналық ондық форматта (EBCDIC кодымен жұмыс істегенде) мынадай түрге ие болады:

6 2 8 -5

11110110 11110010 11111000 11010101

бұл жағдайда ондық үтірдің (нүктенің) алғаг орны турады мәлімет есеп программасында көрсетіледі. Бұл форматта разрядтың цифрларыннан басқа цифрлар EBSDIC кодына сәкес көрсетіледі.

Таңбасыз ондық санда кіші байттың сол жақ төрт разрядына зонаның коды жазылады. Ондық мәліметтерді зоналық форматпен көрсету, алфавиттік цифрлық информация үшін қабылданған кодтармен салыстырғанда, жазылу көлемін өте үнемді пайдалануға мүмкіндік береді. Үнемдікке ондық үтірді (нүктені) шығарып тастау арқылы және бір байтта ондық цифрдың таңбасы мен төменгі разряд цифрын орналастыру арқылы жетеміз. Сегзід разрядты буын (байттың) құндылығы - бір буында екі ондық цифрды орналастыру мүмкіндігінде. Бұл жадыны үнемді пайдалануға алып келеді. Мұндай көрсету әдісі орауышталған ондық формат деп аталады. Бұл форматтта таңба коды төменгі байттың оң жақ төрт разрядында орналасады. Ондық сан әрқашан байттардың бүтін санын алып тұрады. Егер ең сол жақтағы жоғарғы байттың сол жақ төрт разряды бос болып қалса, онда нольдермен толтырылады - 6,285 саны орауышталған (құндақталған) ондық форматта мынадай түрде болады:

0 6 2 8 5 -

0000 0110 0010 1000 0101 1101

ЭЕМ БЖ-да орауышталған форматта ондық санның 1-ден 16-байтқа дейінгі ұзындығы бар болуы мүмкін. Бұл жағдайда санның ең үлкен ұзындығы - 31 ондық цифр мен таңба белгісі болады. Ондық сандарға операциялар қолданғанда тек орауышталған формат пайдаланылады. Нәтиже де осы форматта көрсетіледі. Операцияға қатысатын сандардың әр түрлі ұзындықтару болуы мүмкін. Зоналық формат ондық мәліметтерді енгізу-шығару операцияларында да қолданылады, форматтарды қолданатын есептеуіш жүйелерде ондық сандарды зоналық форматтан орауышталған форматқа және керісінше түрлендірілетін командалар бар болады.

Тура D-кодтарда қосу

D-кодтарда мүмкін болатын 16 комбинацияның 10-ны қолданылатындықтан, сандарды қосқанда келесі тетрадаға ондық тасымалдарды беру және нәтижені түзету қажеттігі туады. және сандары берілсін, мұнда аі мен bi екілік түрде кодталған ондық цифрлар (тетрадалар). Онда . Бұл жерде . Бұл өрнекте берілген цифрдан және берілген цифрға сәйкесті екілік тасымалдаулар, - санау жүйесінің негізі. D-кодтардың әрқайсысында сандарды қосудың өзіндік ерекшеліктері бар, сондықтан оларды жеке-жеке қарастырайық. D1-коды. D1-кодында сандарды қосқанда мынадай жағдайлар болуы мүмкін:

Егер болса, онда тетрадалармен операция орындалғаннан кейін дұрыс нәтиже алынады.

Егер болса, онда ондық тасымалдау пайда болады және қосынды (мұнда =1) болуға тиіс. Дұрыс емес нәтиженің пайда болу белгілеріне болғанда әр тетрадалық тасымалдаудың =16 тууы және рұқсат етілмеген комбинациялардың пайда болуы жатады. Бұл жағдайларда дұрыс нәтиже алу үшін тетрадаға +0110-ге тең түзетуді қосу қажет.

D-кодтарда теріс сандарды өрнектеу

Теріс сандар ондық D-кодтарда тура, кері және қосымша көрсетіледі. болсын, мұнда тетрадалар (i =1,2,…, i). Онда [A]тура=1,

[A]кері=1, , [A]қос=1, , мұнда -тетрадалрдағы -ға дейінгі толықтама. D1 кодында тетрада цифрларын тікелей терістеуде оны 9-ға дейін емес 24-1=15-ке дегйін терістеуді айтады. 15-9=6 (0110) болғандықтан, D1 кодында кері код алу үшін тетрдалрға алдымен 0110 шамасын қосады, онан соң тетрадалар цифрларын терістейді.

D1-кодтарда алгебралық қосындылау

D1-кодтарда арифметикалық әрекеттер екілік санау арифметикалық әрекеттер екілік санау арифметикасының ережелерімен жүргізіледі. Бірақ мұнда өзіндік өзгешеліктерді ескеру керек.

D1-кодтарында сандарды көбейту.

D1-кодтарында сандар екілік есептеу жүйесінде қолданылатын көбейту тәсілдерімен көбейтіледі. Бірақ мұндағы өзіндік ерекшеліктерді есепке алу керек. D1-кодында көбейту үшін көбейтудің әр қадамында 4 разрядқа жылжытылған КБҚ-ға көбейгіш k рет түзету ережесін сақтау арқылы қосылады, мұндағы k көбейткіштің төменгі разрядынан бастап КБҚ-ны оңға жылжыту арқылы көбейту әдісі кеңінен қолданылады. Көбейту тура кодта жүргізіледі. Көбейтінді таңбасы көбейгіштер таңбаларын 2 модулі бойынша қосындылау арқылы анықталады.

D1-кодтарда сандарды бөлу.

D1-кодтарда бөлу амалы екілік санау жүйесінде қолданылатын бөлу тәсілдері ерекшеліктерін ескере қолданылады. Бөлу амалымен тура D1-клдында орындалады. Нәтиже таңбасы бөлінгіш пен бөлгіш таңбасын 2 модулі бойынша қосу арқылы анықталады.

Қалдықты қалпына келтірмей бөлу әдісінде алдымен бөлінгіштен бөлгіш азайтылады. Алынған қалдық таңбасы оң болса, онда цифрлар санағыш (ЦС) "1"-га арттырылады. Егер бөлінгіштен бөлгішті біртіндеп азайту кезінде анықталатын бөлінді цифры (тетрадасы) қалыптасқанын білдіреді. Қалыптасқан бөлінді мәні цифрлар санағышында көрсетіледі. Онан соң бөлінгіш оңға қарай 4 разрядқа жылжытылады (немесе қалдық солға жылжытылады). ЦС-та 9 санының екілік мәнін жазады. Теріс қалдықққа алынған кезде әрбір қосындылаудан кейін ЦС бірге азайтылады. Бөліндінің кезекті цифры қалыптасқан кезде қалдық таңбасы оң болады. Цифр мәні ЦС көрсетуімен анықталады. Одан соң бөлгіш қайтадан жылжытылады, бөлгіш қалдықтан қайтадан біртіндеп азайтылады. Бөлу процесі бөліндінің барлық разрядтары анықталғанша жүргізіледі.

 

Date: 2015-06-11; view: 2558; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию