49
Шешуі:
[A]T=-0,0101
SgA=0,0101
+
[B]T=-0,1001
SgB=0,1001
SgC=0,1110
Жауабы: [C]T=0,1110
Тура
кодтың
екілік
қосындылауышында
сандарды
қосқанда,
операндтардың қосындысының абсалют мәні бірден асып кететін жағдай болуы
мҥмкін. Онда автоматтың разрядтық торының толып кетуі мҥмкін. Толып кету
белгісі - қосындылауыштың цифрлық бӛлігінің ҥлкен разрядынан тасымалдау
бірлігінің бар болуы. Бҧл жағдайда ф=1 толып кету сигналы пайда болуы керек.
Сол сигнал бойынша машина автоматты тҥрде тоқтайды және толып кетуді
болдырмайтындай масштабтық коэффициентті тҥзетеді.
Қосымша кодтың қосындылауышы –
қосымша кодтағы сандардың
кескіндеріне амалдар қолданатын қосындылауыш. Қосымша кодтың екілік
қосындылауышының ерекшелігі цифрлық бӛліктің ҥлкен разрядынан таңбалық
разрядқа разрядтық тасымалдау тізбегінің бар болуы. Сандардың қосымша
кодтарының қосындысы нәтиженің қосымша кодына тең.
Қосымша кодтың екілік қосындылауышында
сандарды қосудың
ережелерін анықтайық.
Теорема. Сандардың қосымша кодтарының қосындысы нәтиженің
қосымша кодына тең.
Дәлелдеу. Сандар жылжымалы нҥкте тҥрінде берілген деп есептейік.
Мҥмкін болатын жағдайларды қарастырамыз.
1) A>0, B>0, A+B<1
[A]қ+[B]қ= A+B=[A+B] – нәтиже оң
2) A<0, B>0, |A|>B
[A]қ=A+q [B]қ=B болғандықтан
[A]қ+[B]қ= A+B+q – нәтиже теріс
3) A<0, B>0 |A|
[A]қ=A+q [B]қ=B+q
Сонда [A]қ+[B]қ= A+B+q. Бҧл қосындының мәні q-ден ҥлкен
болғандықтан, таңбалық разрядтан 1-ді тасымалдайды, бҧл қосындыдан q
бірлікті алғанмен теңбе тең, яғни нәтижеге тең.
[A]қ+[B]қ= A+B
4) A<0, B>0 |A+B|<1
[A]қ=A+q [B]қ=B+q
Сонда [A]қ+[B]қ= A+B+q+q=[A+B]q – нәтиже теріс
Сонымен, теорема разрядтық тордың толып
кетуі болмайтын барлық
жағдай ҥшін орындалады. Бҧл сандардың автоматтық кескіндерін екілік
арифметика ережелері бойынша қосуға мҥмкіндік береді.
Мысал 3. Қосымша код қосындылауышын қолданып A=0,1010, B=0,0100
сандарының қосындысын табу керек.
Шешуі:
50
Бҧл сандардың машиналық кескіндері қосылады:
[A]қ=0,1010
+
[B]қ=0,0100
[C]қ=0,1110
Жауабы : [C]қ =0,1110
Мысал 4. Қосымша код қосындылауышында A=-0,1011; B=0,0100
сандарының қосындысын табыңдар.
Шешуі:
[A]қ=1,0101
+
[B]қ=0,0100
[C]қ=1,1001
Жауабы : [C]қ =-0,0111
Мысал 5. Қосымша код қосындылауышында A=0,1011; B=-0,0100
сандарының қосындысын табыңдар.
Шешуі:
[A]қ=0,1011
+
[B]қ=1, 1100
[C]қ=-(1)0,0111
Жауабы : [C]қ =-0,1001
Кері кодтың екілік қосындылауышы
– кері кодтағы сандардың
кескіндеріне амалдар қолданатын қосындылауыш.
Теорема. Сандардың кері кодтарының қосындысы нәтиженің кер кодына
тең.
Дәлелдеу. Негізгі жағдайларды қарастырамыз.
1) A>0, B>0 A+B<1 сонда
[A]к+[B]к= A+B=[A+B]k
2) A<0, B>0 |A|>B Мҧнда [A]к= q-q(-n) +A
Сонда [A]к+[B]к= q-q(-n) +A+B
[A]к+[B]к оң болғандықтан, бҧл ӛрнектің оң жағы q-ден ҥлкен болады. Ол
таңбалық разрядтан 1-ді тасымалдауға алып келеді. Кері кодтың екілік
қосындылауышында таңбалық разрядтан кіші разрядқа
тасымалдау тізбегі бар
болады (таңбалық разрядтан тасымалдау шамасы q-q(-n) тең). [A]к+[B]к=
[A+B]k нәтиже оң.
3) A<0, B<0 A+B|<1
[A]к = q-q(-n)+A;
[B]к= q-q(-n)+B болғандықтан
[A]к+[B]к= q-q(-n)+ q-q(-n)+A+B мҧнда таңбалық разрядтан бірді
тасымалдау пайда болады. Ол қосындыдан q-q(-n) шаманы алып тастағанға
теңбе-тең. Яғни [A]к+[B]к= [A+B]k
51
4) |A|=B, A<0,B>0 сонда [A]к+[B]к= q-q(-n) +A+B= q-q(-n) нәтиже қосынды
0-ге тең екенін кӛрсетеді. Сонымен, кері
кодтың қосындылауышында
сандардың кескіні екілік арифметика ережесі бойынша қосылатыны
кӛрсетіледі.
Мысал 6. Кері кодтың қосындылауышында сандардың A=0,0101, B=0,0111
қосындысын табыңдар.
Шешуі:
[A]к=0,0101
+
[B]к=0, 0111
[C]к=0,0111
Жауабы : [C]к =0,0111
Мысал 7. Кері кодтың қосындылауышында сандардың A=-0,0101,
B=0,0111 қосындысын табыңдар.
Шешуі:
[A]к=1,1010
+
[B]к=0, 0111
+(1)0,001
1
[C]к= 0,0010
Жауабы: [C]к = 0,0010
1>0>1>1>1>
Достарыңызбен бөлісу: