Elemety arytmetyk komputerowej cz. I Elemety systemów lczbowych /materał pomocczy do wykładu Iformatyka sem II/ Sps treśc. Wprowadzee.... Wstępe uwag o systemach lczbowych... 3. Przegląd wybraych systemów lczbowych...3 4. Systemy bary aturaly, oktaly heksadecymaly...8 5. Kowersje mędzysystemowe...9 5..System bary system dzesęty... 5.. System oktaly system dzesęty... 5.3. System heksadecymaly system dzesęty... 5.4. System bary oktaly...3 5.5. System bary heksadecymaly...3 6. Przesuęca lczby barej...4 7. Dzałaa arytmetycze w systeme barym aturalym...7 7..Dodawae...7 7.. Odejmowae...8 7.3. Możee... 7.4 Dzelee... 8. Wybrae reprezetacje lczb ze zakem...4 8.. Reprezetacja zak-moduł...5 8. Reprezetacja z uzupełeem do ( kod U)...6 8.3 Reprezetacja z uzupełeem do ( kod U)...7 8.4. Uwag o systemach uzupełeowych...8 9. Wybrae dzałaa arytmetycze w systemach uzupełeowych...9 9.. Dodawae w kodze U...9 9.. Odejmowae w kodze U...33
. Wprowadzee Arytmetyka komputerowa (ag. computer arthmetc) zajmuje sę problemam realzacj oblczeń w urządzeach cyfrowych. Obejmuje oa zagadea teoretycze take jak systemy lczbowe przydate w projektowau urządzeń lczących lub w programowej realzacj oblczeń. Zagadea zwązae z systemam lczbowym obejmują kostrukcję owych systemów lczbowych badae własośc systemów. Przedmotem arytmetyk komputerowej jest poadto realzacja podstawowych operacj arytmetyczych takch jak dodawae odejmowae lczb bez zaku ze zakem, możee dzelee jak oblczae stadardowych fukcj arytmetyczych (sus, cosus, logarytm aturaly, arcus sus, arcus tages, perwastek kwadratowy fukcja ). Arytmetyka komputerowa zajmuje sę także sytezą szybkch efektywych układów do realzacj wyżej wymeoych operacj. Te dzał arytmetyk komputerowej wąże sę ścsle z techologą welkej skal tegracj VLSI (Very Large Scale of Itegrato). Aktuale zagadea arytmetyk cyfrowej to m.. bardzo szybka realzacja oblczeń z wykorzystaem potokowaa (ag. ppelg) wykoywae operacj arytmetyczych z małym poborem mocy (ag. low-power arthmetc). Zagadee to ma szczególe zaczee w zwązku z rozwojem urządzeń przeośych, jak róweż ze wzrostem stosowaych częstotlwośc zegarowych, zważywszy a fakt ż pobór mocy w urządzeach VLSI jest lowo proporcjoaly do częstotlwośc zegara. Do aktualych zagadeń ależy róweż arytmetyka odpora a błędy (ag. fault-tolerat arthmetc). x e W poższym opracowau zestawoo eco rozszerzoą treść czterech wykładów w ramach częśc I wykładu Iformatyka obejmującego podstawy formatyk.. Uwag wstępe o systemach lczbowych Systemy reprezetacj lczb rozwjały sę wraz z rozwojem języka. Najstarsze metody reprezetacj lczb to reprezetowae przy użycu różych przedmotów p. kame lub patyczków (łac. calculus ozacza kamyczek). Jedak gdy powstała koeczość stosowaa wększych lczb, ch reprezetowae z użycem pojedyczych przedmotów jak też porówywae takch lczb stawało sę coraz trudejsze. Perwszym udoskoaleem było grupowae przedmotów reprezetujących jedostk (p. lczbę 3 reprezetowao jako 4 grupy po 5 kamyczków oraz 3 osobe). Główy przełom staowło jedak wprowadzee wększych przedmotów reprezetujących grupę 5 lub jedostek. Metoda ta rozwęła sę do formy symbolczej, gdy zaczęto stosować specjale symbole do ozaczea wększych jedostek. Zaym przykładem jest zaps rzymsk. Jedostkam w
3 tym systeme są, 5,, 5,, 5,,, które są ozaczae odpowedo symbolam I, V,, L, C, D, M, ((I)) (((I))). Lczbę w tym systeme reprezetuje sę w postac łańcucha symbol o wartośc malejącej od lewej stroy. Aby skrócć zaps przyjęto, że symbol zajdujący sę po lewej stroe wększego symbolu reprezetuje wartość ujemą. Np. lczbę 9 bezpośredo moża by zapsać jako VIIII, jedak wygodejszy jest zaps I. Podobe lczbę 45 moża by zapsać jako CCCCL, jedak zaps LD jest bardzej dogody. System rzymsk e jest odpowed do reprezetowaa dużych lczb jak róweż trudo jest wykoywać operacje arytmetycze z jego użycem. Istotą owacją było wprowadzee przez Chńczyków systemu pozycyjego(wagowego), w którym wartość reprezetowaa przez symbol e zależy tylko od ego samego, ale także od jego położea względem ych symbol. Przykładowo, w lczbe 444 każda z cyfr "4", reprezetuje ą wartość. Skraja od lewej reprezetuje 4, środkowa 4, a skraja z prawej 4. System lczbowy, S moża określć jako zbór S={,, F}, () gdze - zbór wartośc abstrakcyjych lczb, - zbór reprezetacj lczb, F:. Ogóle reprezetację lczby moża zapsać astępująco ( x, x,..., x ), () gdze x, =,,,...,- są cyfram reprezetacj. Dla popularych systemów pozycyjych e stosuje sę zwykle przy zapse awasów a przecków. 3. Przegląd wybraych systemów lczbowych W systeme wagowym lczba jest przedstawaa w sposób astępujący: = m = d w, (3) gdze w { W}, a d { D}, zbór W zway jest zborem wag, a zbór D zborem cyfr. Jeżel wszystke wag są potęgam pewej stałej r, w = r, to tak system wagowy azywamy systemem z stałą podstawą ( ag. fxed-radx umber system). Lczbę w takm systeme moża zapsać jako 3
4 = = m d r. (4) Zbór dozwoloych cyfr jest tak sam a każdej pozycj. Isteją też, będące w powszechym użycu, systemy wagowe e będące systemam o stałej podstawe, p. system zlczaa czasu. Nech T ozacza czas w cągu doby wyrażoy w sekudach dla pewej lczby godz, mut sekud. T możemy zapsać jako T = E + E 6 + E 6 6, (5) gdze poszczególe cyfry mogą przyjmować wartośc z astępujących zakresów E < 6, E < 6, E < 4. Bezwzględą dokładość reprezetacj lczby w systeme wagowym wyzacza waga ajmej zaczącej pozycj czyl m r. W systeme ze stałą podstawą reprezetacja zera ukala, gdyż e steje lczba róża od {,,...,}, której wartoścą byłoby zero. W systeme takm lczby ajmejsza, N ajwększa, P reprezetowale a pozycjach, mają postać oraz N = (,,,...,), (6) P = ( r, r, r,..., r ). (7) Sposób reprezetacj lczb wpływa e tylko a łatwość odczytywaa lczb, a także a złożoość algorytmów arytmetyczych stosowaych przy realzacj operacj a lczbach. Systemy pozycyje zawdzęczają swą popularość, przyajmej częścowo, dostępośc prostych wygodych algorytmów do realzacj dzałań a lczbach reprezetowaych w tych systemach. Isteją jedak systemy epozycyje, take jak resztowy system lczbowy, które mają przewagę ad systemam pozycyjym przy realzacj ektórych dzałań arytmetyczych w pewych dzedzach zastosowań. W systemach cyfrowych lczby są kodowae przy użycu cyfr barych zwaych btam. Stosowae systemu barego wyka z powodów techologczych, gdyż w fzyczych urządzeach łatwej jest reprezetować dwa stay, którym przypsuje sę cyfry bare. Operadam algorytmów arytmetyk komputerowej są węc kody reprezetujące lczby. Zbór 4
5 kodów takch jest jedak zborem dyskretym skończoym, stąd e wszystke reguły arytmetyk kowecjoalej, stosują sę do algorytmów arytmetyk komputerowej. Stosuje sę zasadczo dwa rodzaje reprezetacj lczb w komputerach : -reprezetację stałoprzeckową (ag. fxed-pot represetato), gdze lczba pozycj przezaczoych do zakodowaa częśc całkowtej lczby częśc ułamkowej lczby jest stała, -reprezetację zmeoprzeckową ( ag. floatg-pot represetato), w której osobo jest kodowaa jest matysa wraz ze zakem oraz osobo cecha określająca relację mędzy lczbą a matysą. Przykład 3.. Reprezetacja stałoprzeckowa o 8 pozycjach może być zapsaa astępująco xxxx.xxxx, (8) kropka (przecek) oddzela cześć całkowtą od częśc ułamkowej. W systeme dzesętym moża przy użycu takej reprezetacj przedstawać lczby z zakresu [., 9999.9999], a w systeme barym [.,.]. Reprezetacja zmeoprzeckowa w systeme dzesętym ma postać c m, (9) gdze m jest matysą a c cechą. Matysa cecha są lczbam stałoprzeckowym. Reprezetacja taka e jest jedozacza, p. lczba.35 może być reprezetowaa jako.35, czy też.35, zwykle przyjmuje sę, że m <. Reprezetacja zmeoprzeckowa w systeme barym w ajprostszym przypadku może meć astępującą postać c m, () w której m c są lczbam barym stałoprzeckowym oraz.5 m <. Zakres te wyka stąd, że jeżel chcemy aby ułamek bary mał cyfrę po kropce oddzelającej część ułamkową od częśc całkowtej, to jego mmalą wartoścą będze. W praktyce stosuje sę jedak z różych względów reprezetacje o bardzej złożoej forme ż (). Zwykle stosuje sę stadardowe reprezetacje zmeoprzeckowe okresloe stadardam IEEE 754 IEEE 854. =.5 Jak zazaczoo powyżej, lczby w systemach cyfrowych są kodowae przy użycu btów. Kodowae ozacza, że każdej lczbe, która ma być reprezetowaa w daym systeme cyfrowym, przypsuje sę pewe kod-cąg btów reprezetujący tę lczbę. Przypsae to powo być logcze systematycze, tak aby umożlwało prostą realzację operacj arytmetyczych, jak róweż proste sprawdzae osoblwośc lub specjalych przypadków. 5
6 Może to być p. sprawdzae, czy kod otrzymay w wyku jakejś operacj reprezetuje lczbę, czy wyk jest rówy zeru, czy też astąpło przekroczee zakresu lczbowego(p. powstał admar -ag. overflow). Stąd przykładowo, jeżel przypszemy pewe kody do lczb 4, a e przypszemy kodu dla lczby 6, to w wyku operacj dodawaa powstae wartość ereprezetowala w daym systeme. Pożej pokażemy róże sposoby przypsaa 4-btowych kodów do lczb. Przy ajprostszym podejścu 4-btowe kody moża traktować jako 4-btowe lczby aturale z zakresu [,5]. Jeśl bt o ajwyższej wadze potraktujemy jako bt zaku (przypsując p., jeśl lczba jest dodata jeśl lczba jest ujema), otrzymujemy lczby z zakresu [-7,7], lczba będze mała dwe reprezetacje (+ -). Jeżel przyjmemy 3 bty dla częśc całkowtej bt dla częśc ułamkowej, otrzymamy lczby z zakresu [,7.5] co.5. Jeśl założymy, że perwszy bt jest btem zaku, a pozostałe reprezetują ułamek bary, to uzyskamy lczby z zakresu [-.875,.875]. Dla reprezetacj zmeoprzeckowej, jeżel przezaczymy dwa bty do kodowaa cechy dwa bty do kodowaa matysy przyjmemy, że -btowa matysa c ależy do przedzału [,3], a -btowa cecha c do [-,], to przy zastosowau reprezetacj m, możemy kodować lczby z zakresu [,6]. W tym systeme zero ma cztery reprezetacje (matysa rówa zeru dla każdej wartośc cechy),.5,.,. mają dwe reprezetacje, lczby.5,.75,.5, 3., 4. 6. są reprezetowae jedozacze.. System zrówoważoy trójkowy : r=3, {, } d.. System z ujemą podstawą : podstawa -r, {,,..., r } systeme moża wyrazć astępująco: parzyste d eparzyste, wartość lczby w tym = d ( r) = d r d r. () Dla specjalego przypadku r=- dla zboru cyfr d {,}, system te jest azyway egabarym(mus dwójkowym). 3. Systemy eredudacyje ze cyfram ze zakem: podstawa r zbór cyfr d { α, r α}. Przykładowo ech r=, α = 5 d { 5, 4, 3,,,,,,3,4 }. Cyfry ujeme ozaczamy stosując zak mus, wtedy (4-3 ) reprezetuje lczbę 37 = 4 3 +, (-4 3 ) reprezetuje lczbę 369 = 4 + 3 +, c 6
7 4. Systemy redudacyje admarowe ze zakem. W systemach tych α,..., β oraz α + β r. W systemach takch pewe wartośc mają węcej ż jedą reprezetację, p.dla d { 7,..,,.., 7} r= lczba dzesęta 95 ma astępujące reprezetacje: d { } (3-5) = (3-5)=( -7-5). 5. Systemy z ułamkową podstawą: r=. d {,...,9} moża wyrazć jako. Wartość lczby w takm systeme = d () 6. Systemy lczbowe z podstawą ewymerą, w których p. r =,, wartość lczby przedstawa zależość d { } = d ( ). (3) 7. Systemy z podstawą zespoloą:, przykładowo r=j, gdze j =,,,,3. Wartość lczby wyraża sę tutaj zależoścą d { } = d ( j) (4) Zam przejdzemy do systemów lczbowych mających specjale zaczee w formatyce, rozważymy jeszcze kwestę długośc reprezetacj dla systemów o podstawe r stadardowym zborze cyfr [,r-]. Lczbę cyfr koeczą do reprezetacj lczb aturalych z przedzału [,max] moża wyrazć jako log r max + = log (max+ ) k. (5) = r Należy zauważyć, że lczba różych wartośc w przedzale [,max] jest rówa max+. Stosując reprezetację stałoprzeckową z k cyfram dla częśc całkowtej l cyfram dla częśc ułamkowej, wartość max moża wyrazć w sposób astępujący k l k max = r r = r ulp, (6) gdze ulp(ag. ut least(sgfcat) posto), ozacza cyfrę a ajmej zaczącej pozycj. 7
8 4. Systemy bary aturaly, oktaly heksadecymaly Rozważymy teraz blżej systemy bary, oktaly heksadecymaly mające zasadcze zaczee w formatyce. a) system bary(dwójkowy) aturaly W systeme barym r= oraz d {, } d = =. (7) Przykład 4.. Zaleźć wartośc dzesęte lczb barych. a) =(), lczba ta ma wartość 3 w systeme dzesętym, b) =(), jest rówa 4 w systeme dzesętym, c) 3 =(), odpowada 7 w systeme dzesętym. Maksymala wartość lczby barej reprezetowaej a pozycjach o wagach od do jest rówa Warto zauważyć, że lczba =. (8) wymaga reprezetacj a + pozycjach. Stosując system bary często używa sę określeń bajt, lczba dwu-, czterobajtowa, a także -bajtowa. Bajt ozacza lczbę złożoą z 8 cyfr barych o wagach od do maksymalej wartośc rówej 55. Podobe lczba dwubajtowa ozacza lczbę złożoą z 6 cyfr barych o 7 wagach od do 5 maksymalej wartośc rówej 65535. Dla lczby czterobajtowej składającej sę z 3 btów maksymala wartość wyos 3 czyl 49496795. b) system oktaly(ósemkowy) W systeme oktalym r=8 oraz d {,,,3,4,5,6,7 } = d. (9) = 8 Przykład 4.. Zaleźć wartośc dzesęte lczb oktalych a) lczba oktala =(3) 8 lczba ta ma wartość 5 w systeme dzesętym, b) lczba oktala =(77) 8, ma wartość 63 w systeme dzesętym, c) lczba oktala 3 =(775) 8, ma wartość 59 w systeme dzesętym, c) system heksadecymaly 8
9 W systeme heksadecymalym r=6 oraz d {,,,3,4,5,6,7, A, B, C, D, E, F} d = = 6. () W systeme tym cyfry powyżej ozaczoo kolejym lteram alfabetu, tak A=, B=, C=, D=3, E=4 F=5. Przykład 4.3. Określć wartość dzesętą daych lczb heksadecymalych a) =(A) 6, lczba ta ma wartość 4 w systeme dzesętym, b) =(FF) 6, ma wartość 55 w systeme dzesętym, c) 3 =(ABC) 6, ma wartość 748 w systeme dzesętym. 5. Kowersje mędzysystemowe Kowersja mędzysystemowa to operacja zajdowaa reprezetacj lczby w pewym systeme lczbowym, gdy daa jest reprezetacja tej lczby w ym systeme lczbowym. Rozpatrzymy kolejo astępujące kowersje: - kowersję z systemu barego aturalego do systemu dzesętego z dzesętego do barego, -kowersję ułamków z systemu barego do systemu dzesętego z systemu dzesętego do systemu barego, -kowersję z systemu oktalego do systemu dzesętego z systemu dzesętego do systemu oktalego, -kowersję z systemu heksadecymalego do systemu dzesętego z systemu dzesętego do systemu heksadecymalego, -kowersję z systemu barego do systemu oktalego z systemu oktalego do systemu barego, -kowersję z systemu barego do systemu heksadecymalego z systemu heksadecymalego do systemu barego. Zasadczo kowersję mędzysystemową dla systemów ze stałą podstawą moża wykoać stosując procedurę kowersj przedstawoą pożej, jedakże dla ektórych kowersj mędzysystemowych steją prostsze metody. Rozpatrzymy ajperw ogólą procedurę kowersj. Ozaczmy przez r podstawę systemu ze stałą postawą, z którego dokoujemy kowersj, a przez R podstawę systemu, do którego ma astępować kowersja. Procedura kowersj polega a dzeleu lczby przedstawoej przy podstawe r przez lczbę R, 9
przedstawoą przy podstawe r. Koleje reszty z dzelea staową koleje cyfry reprezetacj przy podstawe R. Cyfra ajmłodsza (cyfra o ajmejszej wadze) jest otrzymywaa jako perwsza. 5. System bary system dzesęty a) kowersja z systemu barego aturalego do systemu dzesętego Stosuje sę tutaj zależość (7) d = =. Przykład 5. Zaleźć reprezetacje dzesęte lczb barych,. Lczbe barej = w systeme dzesętym odpowada lczba + = 3, = odpowada lczba 6, a lczba 4. 3 = b) kowersja z systemu dzesętego do systemu barego aturalego Stosujemy tutaj ogóly algorytm kowersj, o którym wspomao wyżej, dla r=, R=. Przykład 5.. Zaleźć reprezetacje bare lczb 3 3. R reszta R reszta 3 : 3 : 5 : : 7 : 5 : 3 : : : : Lczba dzesęta 3 ma postać barą, a lczbe 3 odpowada lczba bara. c) kowersja ułamków z systemu barego do systemu dzesętego, d = m =. () Należy zauważyć, że powyższym wzorze wag są ułamkowe wyoszą kolejo 3,,... Zależość () moża zapsać róweż w eco wygodejszej postac m d = =. () Tak węc p. ułamkow baremu. odpowada ułamek dzesęty.75, a ułamkow baremu. wartość.375.
d) kowersja ułamków z systemu dzesętego do systemu barego Algorytm kowersj tej przedstawmy a przykładze. Przykład 5.3. Day jest ułamek dzesęty ależy zaleźć jego reprezetację barą. Należy tutaj zauważyć, że ektóre ułamk dzesęte mają eskończoe rozwęca bare, stąd przy kowersj takch ułamków musmy ograczyć sę do pewej skończoej lczby cyfr barych. Zamemy tutaj ułamk.375,.65.446 a postać barą.. 375 x. 65 x. 446 x 75 x 5 x 89 x.. 5 x 5 x 784 x x 568 x 36 x 7 x 544 x 88 x 76 Otrzymujemy węc astępujące reprezetacje bare : dla.375., dla.65. dla.446.. Należy zauważyć, ż dla.446 wyzaczoo tylko perwszych 8 cyfr barych rozwęca. 5. System oktaly system dzesęty a) kowersja z systemu oktalego do systemu dzesętego Kowersję tę moża zrealzować stosując (9) Przykładowo dla lczby oktalej = ( 75) 8 3 d = = 8. otrzymujemy astępującą wartość dzesętą = 8 + 8 + 7 8 + 5 8 = 7.
b) kowersja systemu dzesętego do systemu oktalego R=8. Kowersję tę moża wykoać stosując ogólą procedurę kowersj przez dzelee przez Przykład 5.4. Zrealzować kowersję lczby dzesętej =7 a postać oktalą. R reszta 7 :8 5 87 :8 7 :8 :8 75 Otrzymujemy węc lczbę oktalą ( ). 8 5.3 System heksadecymaly system dzesęty a) kowersja z systemu heksadecymalego do systemu dzesętego Kowersję ta może być zrealzowaa przy zastosowau (), czyl d = = 6. Przykład 5.5.. Zrealzować kowersję lczby = ( BD) 6 a postać dzesętą. Stosując powyższą zależość otrzymujemy = 6 + B 6 + D 6 = 6 + 6 + 3 6 = 7 b) kowersja z systemu dzesętego do systemu heksadecymalego Postać heksadecymalą lczby otrzymujemy realzując dzelee przez R=6. R reszta 7 :6 3=D 43 :6 =B :6
3 5.4 System bary system oktaly Kowersje te moża wykoać bez koeczośc wykoywaa dzelea, co jest ważym czykem staowącym o przydatośc systemu oktalego w praktyce formatyczej. System umożlwa 3-krote skrócee zapsu lczby barej, co ma stote zaczee dla zewętrzego reprezetowaa lczb barych. Możlwość takej kowersj wyka ze zwązku mędzy podstawam systemu oktalego systemu barego, gdyż. Umożlwa to podzał lczby barej a segmety 3-btowe traktowae każdego segmetu jako cyfry w systeme oktalym. 3 8 = a) kowersja z systemu barego do systemu oktalego Aby zrealzować tę kowersję zastosujemy metodę opsaą powyżej. Przykład 5.6.Daa jest -btowa lczba bara, po podzeleu jej a 3- btowe segmety przypsau każdemu segmetow odpowedej lczby oktalej otrzymamy oktalą reprezetację lczby czyl () = ( ) 8 ( ) ( 7 5 5 ) 8 755. b) kowersja z systemu oktalego do systemu barego Kowersja ta staow odwrócee poprzedej, czyl aby uzyskać reprezetację barą, każdej cyfrze oktalej ależy przypsać jej 3-btową reprezetację barą, Przykład 5.7. Daa jest 6-cyfrowa lczba oktala (735) 8, ależy wyzaczyć jej reprezetację barą 7 3 5 5.5 System bary system heksadecymaly Kowersje te moża wykoać bez koeczośc wykoywaa dzelea podobe jak w przypadku systemu oktalego. System heksadecymaly umożlwa 4-krote skrócee zapsu lczby barej, co ma stote zaczee dla zewętrzego reprezetowaa lczb barych. Możlwość takej kowersj wyka ze zwązku mędzy podstawam systemu 3
4 heksadecymalego systemu barego, gdyż 4 8 =. Umożlwa to podzał lczby barej a segmety 4-btowe traktowae każdego segmetu jako cyfry w systeme heksadecymalym. a) kowersja z systemu barego do systemu heksadecymalego Przykład 5.8. Daa jest -btowa lczba bara, po podzeleu jej a 4- btowe segmety przypsau każdemu segmetow odpowedej lczby heksadecymalej otrzymamy heksadecymalą reprezetację lczby czyl () = ( F 4D) 6. ( ) 6 F 4 D b) kowersja z systemu heksadecymalego do systemu barego Kowersja ta staow odwrócee poprzedej, czyl aby uzyskać reprezetację barą, każdej cyfrze heksadecymalej ależy przypsać jej reprezetację barą. Przykład 5.9. Daa jest 6-cyfrowa lczba hekasdecymaka (FE3C) 6, ależy wyzaczyć jej reprezetację barą F E 3 C 6. Przesuęce lczby barej Zam przystąpmy do omawaa poszczególych dzałań wprowadzmy pojęce rejestru. Rejestr w techce cyfrowej to urządzee mogące przechowywać lczbę barą o określoej długośc p. 8, 6, 3 bty. Mówmy wtedy odpowedo o rejestrze 8-, 6-, 3- btowym, a ogóle -btowym. Przesuęce lczby barej w rejestrze ozacza, że poszczególe jej bty przechodzą (są przepsywae) do ych komórek rejestru lub wychodzą poza rejestr. Pożej podamy sześć rodzajów przesuęć: przesuęca logcze arytmetycze w lewo w prawo oraz przesuęca cyklcze w lewo w prawo. Poszczególe rodzaje przesuęć przedstawoo tak jak fukcjoują odpowede operatory w języku wyższego rzędu p. VHDL, a e rozkazy mkroprocesora, wtedy postać tych przesuęć jest eco a ze względu a udzał zaczka przeesea. a) przesuęce logcze w lewo(ag. shft-left logcal-sll) Przesuęce take polega a tym, że wszystke bty lczby są przesuwae w lewo, przy czym skrajy bt z lewej stroy ( bt o ajwyższej wadze) zka, a a mejsce btu skrajego z prawej stroy ( btu o ajższej wadze ) wchodz zero. 4
5 Wartość lczby Y, powstałej w wyku przesuęca lczby zapsaej w rejestrze - btowym po przesuęcu k pozycj w lewo, moża określć astępująco: k Y = ( 3) Przesuęce o jedą pozycję odpowada możeu lczby barej przez, o le bt o ajwyższej wadze jest rówy, jeśl zaś bt te rówy jest, operacja jest wykoywaa modulo, co określa sę czasam jako operację modulo długość rejestru. Przykład 6.. Przesuęce rejestru logcze o jedą pozycję w lewo. Zawartość rejestru przed przesuęcem, =5, Zawartość rejestru po przesuęcu o jedą pozycję w lewo, Y = =. b) przesuęce logcze w prawo( ag. shft-rght logcal-srl) Przesuęce take polega a tym, że wszystke bty lczby są przesuwae w prawo, przy czym skrajy bt z prawej stroy ( bt o ajższej wadze) zka, a a mejsce btu skrajego z lewej stroy ( btu o ajwyższej wadze ) wchodz zero. Wartość lczby Y, powstałej w wyku przesuęca lczby zapsaej w rejestrze - btowym, o k pozycj w prawo jest rówa Y = k, ( 4) ozacza część całkowtą argumetu. Operacja ta odpowada węc dzeleu całkowtemu. Przykład 6.. Przesuęce logcze rejestru o jedą pozycję w prawo. Zawartość rejestru przed przesuęcem, =5, Zawartość rejestru po przesuęcu o jedą pozycję w prawo, = / = 5 / = Y. 5
6 c) przesuęce arytmetycze w lewo(ag. shft-left arthmetc-sla) Przesuęce take polega a tym, że wszystke bty lczby są przesuwae w lewo, przy czym skrajy bt z lewej stroy ( bt o ajwyższej wadze) zka, a a mejsce btu skrajego z prawej stroy ( btu o ajższej wadze ) wchodz te sam bt. Przykład 6.3. Przesuęce rejestru arytmetycze o jedą pozycję w lewo. Zawartość rejestru przed przesuęcem, =5, Zawartość rejestru po przesuęcu arytmetyczym o jedą pozycję w lewo, Y = + = + =. d) przesuęce arytmetycze w prawo(ag. shft-rght arthmetc-sra) Przy realzacj takego przesuęca wszystke bty lczby są przesuwae w lewo, przy czym skrajy bt z lewej stroy ( bt o ajwyższej wadze) wchodz a tę samą pozycję, a btu skrajy z prawej stroy ( bt o ajższej wadze ) zka. Przykład 6.4. Przesuęce rejestru arytmetycze o jedą pozycję w prawo. Zawartość rejestru przed przesuęcem, =5, Zawartość rejestru po przesuęcu arytmetyczym o jedą pozycję w prawo, Y = 7. e) przesuęce cyklcze w lewo(ag. rotate-left logcal) 6
7 Przy realzacj takego przesuęca wszystke bty lczby są przesuwae w lewo, przy czym skrajy bt z lewej stroy ( bt o ajwyższej wadze) wchodz a pozycję btu skrajego z lewej stroy ( btu o ajższej wadze ). Przykład 6.5. Przesuęce rejestru cyklcze o jedą pozycję w lewo. Zawartość rejestru przed przesuęcem, =3, po przesuęcu Y=9. f) przesuęce cyklcze w prawo(ag. rotate-rght logcal) Przy realzacj takego przesuęca wszystke bty lczby są przesuwae w prawo, przy czym skrajy bt z prawej stroy ( bt o ajższej wadze) wchodz a pozycję btu skrajego z lewej stroy ( btu o ajwyższej wadze ). Przykład 6.6 Przesuęce rejestru arytmetycze o jedą pozycję w prawo. Zawartość rejestru przed przesuęcem, =5, po przesuęcu Y= 7. 7. Dzałaa arytmetycze w systeme barym aturalym Pożej przedstawoe zostaą dzałaa take jak dodawae, odejmowae, możee dzelee. 7. Dodawae Dodawae dwóch lczb -btowych A +B moża przedstawć astępująco: + s a b s a a 3...a b 3 s b s 3... b... s c (5) 7
8 Dodawae take odbywa sę poprzez dodawae kolejych cyfr obu lczb (btów) począwszy od ajmłodszej pary btów przy uwzględeu przy każdym dodawau przeesea z poprzedej pozycj. Zakłada sę zwykle, że przeesee do ajmłodszej pozycj = c. Pożej podamy w Tabel reguły dodawaa cyfr barych a jedej pozycj bez uwzględaa przeesea, a w Tabel z uwzględeem przeesea. Tabela. Reguły dodawaa barego a jedej pozycj bez uwzględaa przeesea Dodawae lczby Suma Przeesee + + + + Tabela. Reguły dodawaa barego a jedej pozycj z uwzględeem przeesea. a b c, s c out, c, - ozacza przeesee wchodzące do -tej pozycj, s -sumę, a - ozacza przeesee wychodzące z -tej pozycj. Przykład 7.. Dodawae dwóch lczb barych + + c out, Warto zauważyć, że przy sumowau dwóch lczb -btowych ch suma może wymagać + btów, a ogóle dla sumowaa m składków wymagaą długość rejestru moża określć w sposób astępujący s dla ch sumy log m( ) + =. (6) s 8
9 7. Odejmowae Odejmowae dwóch lczb -btowych A - B dla moża przedstawć astępująco: δ a δ a a 3...a b b 3 δ b δ 3... b... δ (7) Odejmowae take odbywa sę poprzez odejmowae kolejych cyfr obu lczb (btów) począwszy od ajmłodszej pary btów przy uwzględeu przy każdym odejmowau pożyczk (przeesea o wartośc ujemej) z poprzedej pozycj. Różca może być ujema, stąd pojawa sę problem dodatkowego btu reprezetującego zak. Zwykle przyjmuje sę, że zak mus jest reprezetoway przez lczbę, a zak plus przez. Wartość rezultatu odejmowaa wg (7) moża węc określć astępująco : = A B = δ + δ (8) Pożej podamy w Tabel 3 reguły odejmowaa cyfr barych. Tabela. 3 Reguły odejmowaa barego a jedej pozycj z uwzględeem przeesea. a b c, δ c out, - - - - - - - - Przykład 7.. Odejmowae dwóch lczb barych - - Warto zauważyć, ż przy odejmowau a daej pozycj, poza odejmowaam - - przy braku pożyczk z poprzedej pozycj, których rezultat jest oczywsty, występuje odejmowae, wtedy jeśl cyfra a daej pozycj jest rówa, to odejmujemy od, a jeżel cyfra jest rówa, to od ( podobe jak w systeme dzesętym odpowedo od 9 od ). 9
7.3. Możee Możee lczb barych A B moża zrealzować poprzez welokrote przesuęce możej warukowe sumowae przesuetej mozej w zależosc od wartosc odpowedego btu mozka. Pożej przedstawoo schematycze operację możea. ( 4 ) 3 (3) () x p () 3 () a 3aaa b b b. b p 3 () () p () p3 p p.p (3) (3) p3 p p.p ( 4 ) ( 4 ) ( 4 ) (3) () () p p p.p. p7 p6 p5.p4 p3 p p p Przykład 7.3. Oblczyć loczy lczb A= B= x Możee take moża opsać astępującą zależoścą P =,. p P + = P + b A, =,,,...,k, (9) Algorytm możea w oparcu o (9) przedstawoo pożej. Algorytm (możee lczb k-btowych metodą dodaj-przesuń, ag. shft-add) Krok. Ładuj możą A do rejestru możk B do rejestru Y Krok. Ładuj do rejestru I. Krok. Powtarzaj krok a b dla =,,,...,k-. Krok a. Jeżel Krok b. Krok 3. Stop. Y = wtedy I I + Przykład 7.4. Przedstawmy pożej stay rejestrów, Y I dla przykładowego możea lczb 3-btowych zrealzowaego w oparcu o Algorytm.W kroku a -ty bt możka Y jest
sprawdzay przy użycu przesuęca w prawo. Bt te jest zapsyway do -btowego- rejestru zaczka. Krok. x Y B A Krok. I - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - -- - - -- - - -- - - - -- - - I. Krok a. Zaczk Krok b. I I + - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - -- - - -- - - -- - - - -- - - II. Krok a. Zaczk Krok b. I I +
III. Krok a. Zaczk Krok b. I I + Możee typu przesuń-dodaj jest procesem czasochłoym szczególe dla wększych lczb. Pożej pokażemy y przykładowy algorytm możea, który może prowadzć do zacze szybszej realzacj w układze cyfrowym. Będze to tzw. algorytm rosyjskch weśaków (ag. algorthm of Russa peasats, RP). Przykład 7.5. Zrealzować możee lczb =4 Y=5 stosując algorytm RP. Y 5 4 48 6 96 3 9 384 6 W algorytme tym w perwszej kolume wypsujemy lorazy całkowte z kolejych dzeleń możka przez dwa, a w kolume drugej koleje loczyy możej, pomożoej przez. Iloczy uzyskujemy dodając te loczyy, przy których zajduje sę lczba eparzysta w perwszej kolume. Jak wdać, sumowae są te loczyy, dla których w reprezetacj barej odpowed bt możka jest rówy. Algorytm te może być zrealzoway w systeme barym w sposób rówoległy poprzez warukowe sumowae słów barych zawerających odpowedo przesuętą możą. 7.4 Dzelee Dzelee bare w forme psemej może być zrealzowae przy użycu algorytmu dzelea stosowaego dla ych podstaw systemu lczbowego( p. r= ).
3 Przykład 7.6. Zrealzować dzelee :, odpowada oo dzeleu 59:5 w systeme dzesętym. : - - - Uzyskalśmy węc wyk dzelea całkowtego rówy oraz resztę. Dzelee bare realzowae maszyowo (układowo lub programowo) jest dzałaem zacze trudejszym ż możee bare. W przypadku możea barego operadów k-btowych, otrzymyway wyk jest w ogólym przypadku k-btowy. Natomast przy dzeleu barym długość lorazu w btach jest zacze trudejsza do przewdzea. Rozpatrzymy teraz blżej relacje mędzy długoścam barym dzelej, dzelka, reszty lorazu. Przykładowo, rozważmy dzelee całkowte lczby k-btowej przez k- btową. Aby dzelee take było wykoale, reprezetacja bara reszty otrzymywaej w trakce procesu dzelea e może przekraczać k btów, gdyż w przecwym przypadku e byłoby możlwe jej odjęce od dzelej reprezetowaej a k-btach. Jedak przy dzelku k-btowym loraz może być dłuższy ż k btów, a węc reszta mogłaby w ogólym przypadku przekraczać kbtów. Stąd dzelee przy takch długoścach rejestrów e jest bezpośredo wykoale. Przyjmując węc, że reszta ma być co ajwyżej k-btowa, przy k-btowym dzelku, loraz e może meć długośc wększej ż k-btów. Jeżel jedak okazuje sę, że loraz wymaga węcej ż k-btów, sytuacja taka traktowaa jest jako admar. Przyjmjmy astępujące ozaczea: z dzela z k z k... zz, d dzelk d k d k... dd, q loraz qk qk... qq, s reszta sk sk... ss, Podstawowe rówae dla dzelea ma postać 3
4 z = d q + s (3) Pokażemy teraz waruek, który mus być spełoy, aby e wystąpł admar podczas dzelea. Nadmar e wystąp, jeżel lczba reprezetowaa przez k perwszych btów dzelej( lcząc od btu o ajwyższej wadze) jest mejsza od dzelka. Waruek te moża to zapsać astępująco: z < d k. (3) Rezultatem dzelea po prawej stroe wzoru (3) jest lczba reprezetowaa przez ajstarsze k btów dzelej. Jeżel lczba ta jest mejsza od dzelka d, to jej loraz przez d będze rówy zeru czyl loraz będze co ajwyżej k btowy. Przykład 7.7. Zrealzować dzelee :, odpowada oo dzeleu 44:7 w systeme dzesętym. 6 : - - W tym przypadku spełoy jest waruek (3). Otrzymujemy loraz rówy 6 oraz resztę rówą 3. Dzelee bare lczb całkowtych, przedstawoe powyżej, może być zrealzowae przy zastosowau astępującego algorytmu s ( j) ( j ) = s q d k j k j, j=,,..,k, (3) przy () s = z. Cyfry dzelka są doberae w tak sposób, aby koleja reszta była eujema. Przykład 7.8. Stosując (3) dla k=3 () () s = s q d, () () s = s q d, (3) Przyjmując jak w przykładze powyżej, () s = s q d. s () = z = 45, d=7, otrzymujemy () s = 44 7 = 6, q, = 4
5 () s = 6 7 =, q, = (3) s = 7 =, q. Czyl loraz całkwty w forme barej ma postać () =6 8. Wybrae reprezetacje lczb ze zakem Jak pokazao powyżej w pkt.6.3 przy odejmowau pojawa sę problem reprezetowaa lczb ze zakem. Forma reprezetacj lczb ze zakem powa być taka aby w możlwe dużym stopu ułatwała układową realzację operacj arytmetyczych a takch lczbach. Trzy ajczęścej stosowae reprezetacje to: -reprezetacja zak-moduł (kod zak-moduł,ag. sg-magtude represetato), -reprezetacja z uzupełeem do ( kod U, reprezetacja ze zmejszoym uzupełeem do podstawy systemu lczbowego, ag. oe's complemet represetato), -reprezetacja z uzupełeem do ( kod U, reprezetacja z uzupełeem do podstawy systemu lczbowego, ag. oe's complemet represetato). Zam przejdzemy do omawaa poszczególych reprezetacj, omówmy ajperw ogólą postać reprezetacj stałoprzeckowej. Reprezetacja stałoprzeckowa lczb ze zakem ma postać ( x = x x... x ). (33) Zwykle x rezerwuje sę a zak lczby; zak lczby przyjmuje wartość cyfry x... x x dla x =, (34) r dla < reprezetują moduł lczby. Reprezetacja stałoprzeckowa może zawerać przecek (kropkę), aby oddzelć część całkowtą lczby od częśc ułamkowej. Przecek (kropka) może być umeszczoy mędzy dwoma dowolym cyfram reprezetacj. 8. Reprezetacja zak-moduł Lczby eujeme przy użycu reprezetacj tej są przedstawae astępująco: a lczby ujeme ), (35a) ( x... xx (( r ) x... xx r ), (35b) r 5
6 gdze x dla są cyfram daej lczby. Dla reprezetacj tej, lczby o tych samych wartoścach bezwzględych mają te same cyfry, począwszy od drugej. W systeme barym dla lczb eujemych reprezetacja ta ma postać a dla lczb ujemych ( x x, (36a)... x ) ( x x. (36b)... x ) Wartość lczby reprezetowaej przy użycu (36a) lub (36b) moża oblczyć jako = = = x x gdy x gdy x = = (37) Przykład 8. Wyzaczyć 8-btowe reprezetacje lczb 4-4 w kodze zak-moduł. +4-4 8. Reprezetacja z uzupełeem do (kod U) Lczby eujeme dla r= przy użycu reprezetacj tej są przedstawae tak samo jak w kodze zak-moduł: a lczby ujeme gdze x x... x ), (38a) ( x x... x ), (38b) ( x = x dla, x są cyfram lczby dodatej o tej samej wartośc bezwzględej co daa lczba ujema. Reprezetację -btową lczby ujemej w tym kodze otrzymuje sę węc przyjmując jako zak lczbę oraz dokoując egacj pozostałych cyfr (tj. zamaa zer a jedyk, a jedyek a zera) lczby dodatej o tej samej wartośc bezwzględej co daa lczba ujema, której reprezetacj poszukujemy. Postępowae take jest rówoważe odejmowau takej lczby od lczby ( złożoej z jedyek). Wartość lczby reprezetowaej przy użycu (38a) lub (38b) moża oblczyć jako 6
7 x gdy x = = = ( x ) gdy = x =. (39) Przykład 8. Wyzaczyć 8-btowe reprezetacje lczb 4-4 w kodze U. Reprezetacja lczby 4 jest taka sama jak w kodze zak-moduł, czyl +4, a reprezetację -4 otrzymujemy dokoując egacj poszczególych cyfr, -4. 8.3 Reprezetacja z uzupełeem do (kod U) Lczby eujeme dla r= przy użycu reprezetacj tej są przedstawae tak samo jak w kodze zak-moduł: a lczby ujeme gdze x = x dla. x... x ), (4a) ( x ~ (( x ~... ~ ~, (4b)... xx ) + ) = ( x x x ) Reprezetację lczby ujemej w tym kodze otrzymuje sę tworząc reprezetację w kodze U daej lczby ujemej dodając astępe. Postępowae take jest rówoważe odejmowau od lczby lczba ujema, której reprezetacj poszukujemy. ( złożoej z jedyek) lczby dodatej o tym samym module, co Wartość lczby reprezetowaej przy użycu (4a) lub (4b) moża oblczyć jako ~ x = = ( = gdy ~ x ~ x ) = gdy ~ x =. (4) Warto zauważyć, ż zamast stosować bezpośredo drugą z formuł w (4) moża jej użyć w postac ułatwającej oblczea czyl ( = wystarczy węc zaegować cyfry lczby astępe dodać. ~ x + ), (4) 7
8 Przykład 8.3 Wyzaczyć 8-btowe reprezetacje lczb 4-4 w kodze U. Reprezetacja lczby 4 jest taka sama jak w kodze zak-moduł, czyl +4, a reprezetację -4 otrzymujemy dokoując ajperw egacj poszczególych cyfr, oraz astępe do tej reprezetacj dodajemy czyl -4 w kodze U ma tutaj postać -4 ( -4 w kodze U) + -4 ( -4 w kodze U) 8.4 Podstawowe pojęca systemów uzupełeowych Pożej podamy podstawowe pojęca systemów uzupełeowych jak róweż wyjaśmy sposób realzacj odejmowaa w kodze U. Ozaczea: r R =, Q = r = ( r, r,..., r ) Def. (dopełee lczby) Dopełeem lczby azywamy lczbę Własośc dopełea: = Q.. + = Q = Q (43a). = Q = Q ( Q ) = (43b) Def. (uzupełee lczby) Uzupełeem lczby azywamy lczbę * = R. Własośc uzupełea: *. = r = Q + = + (44a). * + = r Należy zauważyć, ż dla systemu barego (r=) reprezetacja lczby a btach. (44b) r ma same zera Własośc (43a) (43b) są bardzo stote z puktu wdzea przydatośc systemów uzupełeowych. Z własośc (43a) wyka, że wyzaczee uzupełea lczby wymaga 8
9 zalezea dopełea, co wymaga tylko zaegowaa wszystkch btów, astępe dodaa. Własość (43b) pozwala a zastąpee odejmowaa dodawaem uzupełea. Przy odejmowau mamy atomast przy dodawau uzupełea * - +=, + = r + = r Poeważ reprezetacja r ma same zera a pozycjach, lczba ta a pozycjach ma taką samą reprezetację jak lczba. Wdać stąd, że zastosowae lczby (45) * zamast - daje te sam wyk, czyl zamast odejmować lczbę możemy dodawać lczbę *. Przykład 8.4. Zrealzować odejmowae =4 Y=5 stosując 8-btowe reprezetacje bare. Przedstawmy te dzałaa w systeme dzesętym. Mamy węc Y * = 8 5 = 4, * D = + Y = 4 + 4 8 = 9. Zastosowae operacj modulo -btów. odpowada ograczeu reprezetacj lczby barej do 9. Wybrae dzałaa arytmetycze w systemach uzupełeowych Pożej zostae przedstawoe dodawae odejmowae w kodze U. 9. Dodawae w systeme U Nech lczby Y mają astępujące reprezetacje w U = ~ x, ~ x,..., ~ x, ~ ) Y Y = ( x ( ~ y, ~,..., ~, ~ y y y ) Dodawae odbywa sę w dwóch krokach : Krok. Dodaj koleje cyfry poczyając od ajmej zaczącej pary aż do pary ajbardzej zaczącej (cyfr zaku), zakładając zerowe przeesee z prawej stroy. Krok. Porówaj przeesee wchodzące do pozycj zaku z przeeseem wychodzącym z pozycj zaku. Jeżel obydwa są rówe lub obydwa, to przeesee z pozycj zaku ależy zgorować rezultat jest w poprawej forme U. Jeżel przeesea różą sę, ozacza to, że wystąpł admar rezultat jest epoprawy. 9
3 Przykład 9.. Przeesea do pozycj zaku ( c ) z pozycj zaku ( c ). 4 3 c MSB c S MSB S Rejestry przedstawoe powyżej mają długość =5, a poszczególe pozycje są umerowae od do - od prawej stroy. c MSB jest węc przeeseem wychodzącego z pozycj 3 c S wchodzącym do pozycj 4, a wychodzącym z pozycj 5. Przykład 9.. Dodawae w kodze U. a) dwe lczby dodate +3. + +. +4. c =, c = MSB S b) dwe lczby ujeme -3. (-3 w U) +(-) +. (- w U) -4. c =, c = c) lczby o różych zakach MSB S +3. + (-) +. (- w U) +. c =, c = MSB (-3). (-3 w U) + +. -. c =, c = MSB S S 3
3 Y. Rozpatrzoe zostaą teraz poszczególe przypadk różych kombacj zaków lczb Przypadek. > Y > Reprezetacje Y mają w tym przypadku astępującą formę Y Y = = (, ~ x,..., ~, ~ x x, ~ y,..., ~ y, ~ ( y ) ) Ne będze w tym przypadku przeesea z pozycj zaku ( c S = ), gdyż obydwa zak są rówe. Powstająca suma będze dodata w poprawej forme +Y, jeżel + Y <, czyl jeżel e będze admaru to c =. MSB Przypadek. < Y< Y Y = = (, ~ x,..., ~, ~ x x ), ~ y,..., ~ y, ~ ) ( y Nech * = oraz Y * = Y. wtedy sumę uzupełeń moża przedstawć w sposób astępujący: * + Y * = + Y = ( + Y ) = + ( ( + Y )). Uzyskujemy tym samym uzupełee do lczby + Y. A węc w rozważaym przypadku a) występuje zawsze przeesee z pozycj zaku, czyl c =, wyka to z występowaa. S b) jeżel + Y <, to rezultat będze poprawy przedstawoy w kodze U oraz pojaw sę przeesee z btu ajbardzej zaczącego czyl c MSB =. Wyka to z faktu, że suma dwóch lczb ujemych przedstawoych w kodze U zawsze przekroczy. Poeważ * + =, czyl jeśl to * >. 3
3 Przypadek 3. W przypadku tym mogą wystąpć dwe możlwe sytuacje: > Y<. Reprezetacje mają tutaj postać = (, ~ x,..., ~, ~ x x ), Y Y =, ~ y,..., ~ y, ~ ). ( y lub dla > Y< =, ~ x,..., Y Y = W przypadku tym e wystąp admar. ~ x, ~ ( x (, ~ y,..., ~, ~ y y ) ) Nech Y * = Y Jeżel S = + Y * = + Y = ( Y ) a) Y > rówe c, mamy węc S = ( Y ) = c = c. czyl rezultat będze poprawy oraz e wystąp przeesee z ajstarszego btu (z btu MSB) do pozycj zaku. Przeesee z pozycj zaku e pojawa sę, gdyż tylko zak Y jest rówy, a węc c = =.Otrzymaa wartość reprezetuje -c w kodze U. MSB c S Wykażemy teraz, że c MSB =. Mamy S = + Y * = + Y = + ( Y ) = + c. Lczba ozacza a pozycj zaku, lczba c jest mejsza lub rówa ż, e będze przeesea do pozycj zaku. b) Y < rówe -c, wtedy S = ( ( Y )) = ( c) = + c, 3
33 a węc występuje w tym przypadku przeesee z pozycj zaku, czyl dzałaa jest rówy c, gdyż c S =, a wyk S = ( Y ) = + c = c. Wystąpee przeesea z ajwyższej pozycj lczby ( btu MSB) moża wykazać astępująco: S = + Y * = + Y = + + Y + Lczba węc skoro gdyż suma przekroczy ozacza a pozycj zaku, lczba ma same jedyk a - pozycjach, Y tutaj jest lczba dodatą, to mus wystąpć przeesee do pozycj zaku,. W rezultace otrzymujemy MSB = c oraz =. Wykazao węc, że jeżel rezultat dodawaa U jest poprawy to obydwa przeesea tz. przeesee do pozycj zaku przeesee z pozycj zaku muszą być rówe. 9. Odejmowae w systeme U c S Nech lczby Y mają astępujące reprezetacje w U = ( x, x,..., x, x ) Y Y = ( y, y,..., y, y Odejmowae -Y odbywa sę w trzech krokach : Krok. Utwórz uzupełee do dwóch odjemka. ) Krok. Dodaj koleje cyfry odjemej uzupełea odjemka do poczyając od ajmej zaczącej pary aż do pary ajbardzej zaczącej (cyfr zaku), zakładając zerowe przeesee z prawej stroy. Krok 3. Porówaj przeesee wchodzące do pozycj zaku z przeeseem wychodzącym z pozycj zaku. Jeżel obydwa są rówe lub obydwa, to przeesee z pozycj zaku ależy zgorować rezultat jest w poprawej forme U. Jeżel przeesea różą sę, ozacza to, że wystąpł admar rezultat jest epoprawy. Przykład 9.3 Odejmowae w kodze U. 33
34 a) odejmowae lczby dodatej, sprowadza sę oo do dodawaa lczby ujemej w U, czyl utworzea uzupełea odjemka -odjema +3. -odjemk +. -uzupełee odjemka do. +3. - ( +) +. (- w U) +. c MSB =, c S = b) odejmowae lczby ujemej -odjema +3. -odjemk -. -uzupełee odjemka do. (-3). (-3 w U) -(-) +. -. c =, c =, MSB S 34