Информатиканың іргелі негіздері


Сандардың тура кері және қосымша кодтары



бет32/49
Дата13.04.2023
өлшемі1,13 Mb.
#81972
1   ...   28   29   30   31   32   33   34   35   ...   49
Байланысты:
Информатиканы іргелі негіздері

Сандардың тура кері және қосымша кодтары.
ЭЕМ-де алгебралық қосу мен азайту операциялары кері және қосымша кодтарда орындалады. Бұл кодтарды қолдану екі санның айырымын олардың қосындысы мен ауыстыруға мүмкіндік береді. Екі екілік санды кері кодты пайдаланып алгебралық қосу кезінде оң сан тура кодта, ал теріс сан кері кодта өрнектеледі де осы кодтар (таңбалық разрядтар да) қосындыланады. Таңба разрядынан бірлік тасымал пайда болғанда оны кодтар қосындысының төменгі (ең кіші) разрядына қосады (циклдік тасмал). Екі теріс А- және В-сандарын қосқанда: (A-)кері+(В-)кері=(А-+2+2-n)=(B-+2+2-n)=(A-+B-)+[2]=(2-2-n)-2-n=(A-+B-)кері ([2]-таңба разрядынан пайда болған бірлік тасымал, сондықтан ол (+2-n)-мен ауыстырылады). Теріс В- саны мен оң А+ санын қосқанда: +)тура+(В-)кері=(А+-)+[2]+2-n. Егер (А+-)>0 болса, онда [2]- таңба разрядынан пайда болған тасымал бірлік болады, сондықтан ол (+2-n)-мен ауыстырылады, сонда қосынды мынаған тең: +-) тура. Сөйтіп келтірілген ереже бойынша кодтарды қосу қосынды оң болғанда тура кодта, қосынды теріс болғанда кері кодта өрнектелген алгебралық қосынды береді.
Екі санды қосымша кодты пайдаланып алгебралық қосу кезінде оң сандар тура кодта, ал теріс сандар қосымша кодта өрнектеледі де бүтін бірлік разряды ретінде қарастырылатын таңба разрядтарын қоса есептегендегі кодтар арифметикалық қосындыланады. Таңба разрядтарынан тасымал пайда болғанда тасмал бірлік ескерілмейді. Егер қосынды мәні оң болса, онда қосынды тура кодта, ал қосынды мәні теріс сан болса, онда қосынды қосымша кодта алынады. Теріс А-1 мен В-1 сандарын қосқанда:


[A-]қос+[В-]қос=( A-+2)+( В-+2)=( A-+ В-)+2+[2]=( A-+ В-)+2=[ A--]қос([2]- таңба разрядынан пайда болған тасымал бірлік ескерілмейді). Егер А>0 және В<0 болса, онда [A+]тура+[B+]қос=A++B-+2. егер 0<(А+-) болса (2-ескерілмейтін тасмал “I”), онда [A-]қос+[В-]қос =(А+-)>0, яғни [A-+B+]тура алынады. Егер- I<( A-+ В-)<0 болса, онда (A++В)+2=[A+-]қос. Қосымша, сондай-ақ кері кодты пайдаланғанда разряд торынан тыс шамалар пайда болуы мүмкін. Мысалы: А-1=0,10110, [A-]қос=1,0101, B-=-0,11011, [B-]қос=1.00101; [A-]қос+[B-]қос=0,01111 (қате нәтиже). Аса толу кезінде қате нәтижені байқау үшін жоғарғы разрядтан таңба разрядына және таңба разрядтарынан болатын тасымалдарды талдау керек.
Таңбалары бірдей сандарды қосқанда аса толу пайда болуы мүмкін. Сонда алынған нәтиже абсолют шамасы бойынша сандардың берілген пішіні үшін рұқсат етілген ең үлкен мәннен асып кетеді. ЭЕМ-де аса толу жағдайлары арнайы сұлбамен байқалады да үзіліс сигналы үйымдастырылады. Оң таңбалы екі санды қосу кезінде қосындының жоғарғы мәнді разрядынан таңба разрядына тасымал бар, ал таңба разрядынан шығатын тасымал жоқ жағдайда аса толу орын алады.
Егер теріс екі санды қосқанда қосындының таңба разрядынан тасымал бар болса, ал жоғарғы разрядынан таңба разрядына тасымал жоқ болса, онда аса толу орын алады.
Разряд торының аса толуын байқау үшін кей жағдайда өрнектелетін санның таңбасына арналып екі разряд бөлінеді (“+”-00 болып кодталады, ал “-” – II болып кодталады). Сандардың мұндай өрнектелуі модификацияланған код деп аталады. модификацияланған кодта сандарды өрнектеу көрсетілген. Мұндай кодтарда аса толу белгілері таңба разрядында 01 немесе 10 комбинатциялары алынғанда байқалады. Сонда 01-оң сандар, ал 10-теріс сандар облысында пайда болатын аса толу белгісі.
Мысалы:


Достарыңызбен бөлісу:
1   ...   28   29   30   31   32   33   34   35   ...   49




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет