X - Inf
Transkrypt
X - Inf
SYSTEMY LICZENIA Liczby, cyfry, systemy liczbowe Liczba – abstrakcyjny wynik oblicze , warto , opis ilo ciowy obiektu Cyfra – znak (symbol) u ywany do zapisu (reprezentacji) liczb, Systemy pozycyjno-wagowe (positional, place-value) • wagi uporz dkowane i przypisane pozycjom → niezb dny symbol „zero”, • z pozycj skojarzony mno nik oznaczony cyfr o warto ci całkowitej, • reprezentacja liczby – wektor cyfr (ang. digit). Systemy pozycyjne (radix-based) i pokrewne (z ustalon podstaw ) – waga pozycji = pot ga podstawy (radix) • stałobazowe (fixed-radix) – naturalne – podstawa naturalna, cyfry tylko dodatnie – z cyfr znakowan (signed digit, SD) – cyfry ujemne – negabazowe (negative radix) – ujemna podstawa całkowita (baza) • uzupełnieniowe (radix-complement) – rozszerzenie systemów naturalnych wg reguły: reprezentacja –X to wynik działania 0 – X System resztowy (residue number system, RNS) – liczba=: wektor reszt © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 SL–I SYSTEMY LICZENIA Reprezentacje systematyczne liczb Reprezentacje stałoprzecinkowe – stałobazowe (i uzupełnieniowe), ustalone poło enie przecinka pozycyjnego (współczynnika skali m) przy danej podstawie β – izomorficzne z całkowitymi: • liczba = liczba całkowita × β –m np. (m = 3, β =8). 7145,1238=7145123×8–3, 0031,4568=31456×8–3, Reprezentacje zmiennoprzecinkowe – zło enie pól • znak liczby (sign), • znacznik (significand) (cz ułamkowa (fraction), mantysa (mantissa)), • wykładnik (exponent) pot gi bazy (radix) (podstawy) – podstawa stała +3,27145123 E5 ( = 3,2714512310×105), −31415,910×10–4, 1,010012×21011 Reprezentacje resztowe (residue number system, RNS) • reprezentacja liczby – wektor reszt wzgl dem stałych bazy RNS • tylko liczby całkowite 56 {2 , 3, 5, 7} = {56 mod 2, 56 mod 3, 56 mod 5, 56 mod 7}={0, 2, 1, 0} Reprezentacje logarytmiczne – znak & logarytm warto ci bezwzgl dnej © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 SL–II SYSTEMY LICZENIA Systemy stałobazowe (pozycyjne) System stałobazowy 〈 β,D〉 (fixed-radix), popularnie zwany pozycyjnym: • ustalona podstawa (baza) – zwykle liczba całkowita taka, e |β | ≥ 2 • waga pozycji jest całkowit pot g podstawy wi = β i • ustalony zbiór warto ci cyfr, zwykle ten sam dla wszystkich pozycji; musi zawiera nie mniej ni β warto ci w tym 0: D = {0, d1 , d 2 ,..., d β −1 ,...}, przy tym d i mod β = i dla i < β. Warto ci X liczby o reprezentacji X = {xk −1 ,..., x1 , x0 ,..., x−m }β , xi ∈ Di , jest: X = xk −1β k −1 −1 + ... + x1β + x0 + x−1β ... + x− m β −m = i = k −1 ∑ xi β i i =− m • dokładno bezwzgl dna = waga najmniej znacz cej pozycji ulp = β −m Skalowanie: XI – liczba całkowita, m – rozmiar przesuni cia przecinka w prawo X = i = k −1 ∑ xi β i =β −m i = k + m −1 i =− m © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 ∑ x j −m β j = β −m X I j =0 SL–III SYSTEMY LICZENIA Jednolita reprezentacja liczb ujemnych i dodatnich standardowy zbiór cyfr D = {0,1,..., β − 1}, β∈ (β ≥ 2) znak-moduł – osobny kod (symbol) znaku, moduł naturalny uzupełnieniowa (radix-complement) – rozszerzenie systemu naturalnego • liczb „– X” reprezentuje wynik działania pozycyjnego 0 – X obci ona (biased N, excess N) – naturalna reprezentacja liczby pomniejszonej o stał naturaln N, najcz ciej repr. spolaryzowana (N ≅ ½ zakresu). z cyfr znakowan (signed digit, SD) • dozwolone s ujemne warto ci cyfr, np. D={…, 2, 1, 0, 1, …}||D | | ≥ β }, nieredundantny: Dβ ={di: di = i ∨ i– β , d0=0}, np. D10={0,1,8,3,4,5,4,7,2,1} inne systemy: negabazowy – ujemna baza β ≤ − 2, standardowy zbiór cyfr: D = {0,1,..., β − 1} • (du a asymetria), specyficzna arytmetyka – podwójne przeniesienia dopełnieniowy – liczby dodatnie: naturalne, liczby ujemne: dopełnienia cyfr © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 SL–IV SYSTEMY LICZENIA System z ujemn podstaw (negabazowy)* wi = ( − β ) i , β ≥2 i całkowite X = {xk −1 , xk − 2 ,..., x0 , x−1 ,..., x− m }− β = k −1 ∑ xi (− β ) i , i=−m xi ∈ {0,1,...,β − 1} • znaczna asymetria (dodatnia je li k nieparzyste, ujemna gdy k parzyste): rozszerzenie lewostronne reprezentacji n-pozycyjnej o 1 pozycj powoduje doł czenie do zbioru liczb (β –1)β n liczb tego samego znaku • znak liczby okre la indeks najbardziej znacz cej pozycji niezerowej k • zmiana znaku wykonalna tylko dla około 2/(β+1) liczb • skomplikowany algorytm i układ o aby unikn odejmowania przeniesienia xi ± yi ± ci = ±(− β )ci +1 + si wytwarzane s dwa przeniesienia: ci ,i +1 = ( β − 1)ci +1 oraz ci ,i + 2 = ci +1 ci ,i +1 = β ci +1 , co daje ci ,i +1 − βci ,i + 2 = ( β − 1)ci +1 − β ci +1 = −ci +1 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 SL–V SYSTEMY LICZENIA Reprezentacja znak-moduł pseudonaturalna – +32,317, –214,554, ... X = {s}{xk −1 , xk − 2 ,..., x− m }β = (−1) k −1 s ∑ xi β i , xi ∈ {0,1,...,β − 1}, s ∈ {0,1} i=−m Reprezentacja dopełnieniowa dopełnienie cyfry: d = ( β − 1) − d dopełnienie liczby: xk −1 xk − 2 ...x2 x1 x0 = xk −1 xk − 2 ...x2 x1 x0 Np. reprezentacj – 3564210 jest 35642 = 64357 (bo 3564210+6435710 = 9999910) X = {xk , xk −1 ,..., x− m }β = −(β − β k −m s ) + k −1 i x β ∑ i , xi ∈ {0,1,...,β − 1}, s = ϕ ( xk ) i=−m Cechy wspólne reprezentacji znak-moduł i dopełnieniowej • dwie reprezentacje zera : „+ 0” i „− 0” • zakres liczb symetryczny • w dodawaniu i odejmowaniu – faktyczne działanie zale y od znaków o komplikacja algorytmu (układu) i dłu szy czas wykonania © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 SL–VI SYSTEMY LICZENIA Reprezentacja uzupełnieniowa Pozycyjne dodawanie wykonuje si tak: 2735 +7329 = 1 0064 – 7329 = 0 2735 …000 2735 +…000 7329 = …001 0064 – …000 7329 = …000 2735 99…99 +1 = 1 00…00 –1 = 0 99…99 …000 99…99 +…000 00…01 = …001 00…00 – …000 00…01 = …000 99…99 W ten sam sposób wykonamy odejmowanie – symbol 1 oznacza „minus jeden”: 0064 – 7329 = 1 2735 +7329 0 0064 = …000 0064 – …000 7329 = …999 2735 +…000 7329 …000 2735 … (0)0064 … – (0)7329 … = (9)2735 … + (0)7329 … = (0)2735 00..00 –1 =1 99..99 +1 0 99..99 = (0)00…00 – (0)00…01 = (9)99…99 +(0)00…01 (0)00…00 Wnioski: • reprezentacje liczb dodatnich s takie jak w zapisie naturalnym • reprezentacj liczby przeciwnej jest wynik odejmowania od zera • reguły arytmetyki s takie jak w naturalnym systemie pozycyjnym • zapis liczby mo na rozszerzy lewostronnie na dowoln liczb pozycji © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 SL–VII SYSTEMY LICZENIA Rozszerzenie niesko czone – ekstrapolacja zapisu Rozszerzenie niesko czone w uzupełnieniowym systemie dziesi tnym: 0 – 214610 =0 – (0)2146U10 = 17854U10 = (9)7854U10 = 7854U10 Rozszerzenie niesko czone w uzupełnieniowym systemie ósemkowym: 0 – 21468 =0 – (0)2146U8 = 15632U8 = (7)5632U8 = 5632U8 A zatem (9)U10 = 1, (7)U8 = 1, podobnie (1)U2 = 1 i (F)U16 = 1. Podstawa nieparzysta – w zapisie liczby konieczne rozszerzenie β k− = ϕ x k − β + ∑ xi β i i= x x k xk − xk − Podstawa parzysta – wiod ca cyfra okre la znak, mo na pomija rozszerzenie, st d wzór na obliczenie warto ci liczby w systemie uzupełnieniowym gdzie ϕ(xk–1) – warto rozszerzenia dla cyfry wiod cej xk–1. • symetria zakresu (wykonalno 0 – X). • łatwe skalowanie – przez przesuni cie • rozszerzenie lewostronne reprezentacji ułatwia weryfikacj wyniku © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 SL–VIII SYSTEMY LICZENIA Dziesi tna reprezentacja uzupełnieniowa rozszerzenie ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 0 0 ... 0 0 0 0 ... 0 0 0 9 9 ... 9 9 9 9 9 ... 9 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 0 0 ... 0 0 0 0 ... 0 0 0 9 9 ... 9 9 9 9 9 ... 9 0 0 ... 0 0 0 0 ... 0 0 0 9 9 ... 9 9 9 9 9 ... 9 0 0 ... 0 0 0 0 ... 0 0 0 9 9 ... 9 9 9 9 9 ... 9 0 0 ... 0 0 0 0 ... 0 0 0 9 9 ... 9 9 9 9 9 ... 9 5 4 ... 0 0 0 0 ... 0 0 0 9 9 ... 9 9 9 9 9 ... 5 0 9 ... 5 5 4 4 ... 0 0 0 9 9 ... 5 5 5 4 4 ... 0 0 9 ... 0 0 9 9 ... 0 0 0 9 9 ... 0 0 0 9 9 ... 0 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 0 9 ... 0 0 9 9 ... 0 0 0 9 9 ... 0 0 0 9 9 ... 0 0 9 ... 0 0 9 9 ... 0 0 0 9 9 ... 0 0 0 9 9 ... 0 0 9 ... 0 0 9 9 ... 0 0 0 9 9 ... 0 0 0 9 9 ... 0 0 9 ... 0 0 9 9 ... 0 0 0 9 9 ... 0 0 0 9 9 ... 0 0 9 ... 1 0 9 0 ... 2 1 0 9 8 ... 2 1 0 9 8 ... 0 +5⋅107–1 ... +5⋅106+1 +5⋅106 +5⋅106–1 +5⋅106–2 ... +2 +1 0 –1 –2 ... –5⋅106+2 –5⋅106+1 –5⋅106 –5⋅106–1 –5⋅106–2 ... –5⋅107 SL–IX SYSTEMY LICZENIA Dwójkowa reprezentacja uzupełnieniowa ... ... 0 0 ... ... 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 +28–1 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 0 0 0 ... 0 0 1 1 ... 1 1 1 1 ... ... ... ... ... ... ... ... ... ... ... ... ... 0 0 0 ... 0 0 1 1 ... 1 1 1 1 0 0 0 ... 0 0 1 1 ... 1 1 1 1 0 0 0 ... 0 0 1 1 ... 1 1 1 1 0 0 0 ... 0 0 1 1 ... 1 1 1 1 0 0 0 ... 0 0 1 1 ... 1 1 1 1 1 1 0 ... 0 0 1 1 ... 1 1 0 0 0 0 1 ... 0 0 1 1 ... 0 0 1 1 0 0 1 ... 0 0 1 1 ... 0 0 1 1 0 0 1 ... 0 0 1 1 ... 0 0 1 1 0 0 1 ... 0 0 1 1 ... 0 0 1 1 0 0 1 ... 0 0 1 1 ... 0 0 1 1 0 0 1 ... 0 0 1 1 ... 0 0 1 1 1 0 1 ... 1 0 1 0 ... 1 0 1 0 +27+1 +27 +27–1 ... +1 0 –1 –2 ... –27+1 –27 –27–1 –27–2 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1 1 ... ... 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 − xm −1 2 m −1 m−2 + ∑ xi 2 = − xm −1 2 i i =0 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 n + m −1 + n+ m−2 –28 m−2 ∑ xm −1 2 + ∑ xi 2i i = m −1 i i =0 SL–X SYSTEMY LICZENIA System ze znakowan cyfr (SD) • zbiór cyfr D = {a,...,1,0,1,..., a − 1, a}, | X SD | = n −1 ∑ xi β i , a ≤ β − 1 ≤ 2a , xi ∈ {a,...,1,0,1,..., a − 1, a}, d = −d a ≤ β − 1 ≤ 2a i=−m − {xk −1 , xk − 2 ,..., x− m }SD = {− xk −1 ,− xk − 2 ,...,− x− m }SD XSD = X + − X − – wykonalne w systemie SD i w systemie uzupełnieniowym: X + = {0, xk+−1 ,..., x−+m +1 , x−+m }β , 0, gdy xi < 0, xi+ = xi , gdy xi ≥ 0, 0, gdy xi ≥ 0, X = {0, x ,..., x ,x } , x = − xi , gdy xi < 0. reprezentacja minimalna Z ={z k −1 ,.., z − m +1 , z − m } – zawieraj ca najwi cej zer ∃ [ ∀ ( z j = 1) ∨ ∀ ( z j = 1)] ∧ [ ∀ ( zi zi −1 = 0)] − s ≤ k −1 s < j ≤ k −1 − k −1 − − m +1 − −m β s < j ≤ k −1 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 − i − m +1≤ i ≤ s −1 SL–XI SYSTEMY LICZENIA Reprezentacja obci ona k −1 X =|{xk −1 ,..., x1 , x0 }+ N | = ∑ xi β i − N , 0 < N < β k i =0 xi ∈ {0,1,..., β − 1} + unikatowa reprezentacja zera + zgodno uporz dkowania liczb i ich reprezentacji (kodów) – konieczno korekcji wyników działa arytmetycznych – problematyczne u ycie w mno eniu lub dzieleniu Reprezentacja spolaryzowana – asymetria ujemna, gdy N = ½β k , asymetria dodatnia, gdy N = ½β k – 1. W systemie dwójkowym otrzymujemy: Gdy N = 2 , to X + 2 k −1 k–1 = ∑ xi 2 − 2 i k −1 Gdy N = 2 –1, to X + 2 k −1 = −(1 − xk −1 )2 i =0 k −1 k–1 = ∑ xi 2 −(2 i k −1 −1 k −1 k −2 + ∑ xi 2 i , i =0 k −1 i =0 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 k −2 k −1 − 1) = − − xk −1 2 + ∑ (1 − xi )2 i i =0 SL–XII SYSTEMY LICZENIA Dwójkowa reprezentacja spolaryzowana i uzupełnieniowa łatwa konwersja reprezentacji spolaryzowanej na kod U2 i odwrotnie {xk −1 , xk −2 ,..., x1 , x0 }U2 = {(1 − xk −1 ), xm−2 ,..., x1 , x0 }+ 2 = {xk −1 , xm−2 ,..., x1 , x0 }+ 2 k −1 k −1 − {xk −1 , xk −2 ,..., x1 , x0 }U2 = {xk −1 , (1 − xk −2 ),..., (1 − x1 ), (1 − x0 )}+ 2 = {xk −1 , xk −2 ,..., x1 , x0 }+ 2 N = 2k–1 2k−1−1 2k−1−2 ... 0 −1 ... k−1 −2 +1 −2k−1 1 1 ... 1 0 ... 0 0 1 1 ... 0 1 ... 0 0 1 1 ... 0 1 ... 0 0 ... ... ... ... ... ... ... ... © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 1 1 ... 0 1 ... 0 0 k −1 1 1 ... 0 1 ... 0 0 k −1 -1 -1 1 0 ... 0 1 ... 1 0 N = 2k–1−1 2k−1 2k−1−1 ... 1 0 ... −2k−1+2 −2k−1+1 SL–XIII SYSTEMY LICZENIA Cechy reprezentacji liczb całkowitych (stałoprzecinkowych) kodowanie umowne (intuicyjne): • znak-moduł – „znak” | warto bezwzgl dna liczby o skomplikowana arytmetyka (dodawanie, skalowanie, mno enie, …) • dopełnianie – liczba ujemna = dopełnienie cyfr liczby przeciwnej dodatniej o skomplikowana arytmetyka (dodawanie, skalowanie, mno enie, …) kodowanie arytmetyczne (nast pna: +1, poprzednia: –1): • uzupełnianie – liczba ujemna = 0 – liczba przeciwna (dodatnia) o łatwa arytmetyka (pozycyjna), porównanie i skalowanie • polaryzacja – warto = warto naturalna – stała (tylko liczby całkowite) o sztywny zakres, trudne mno enie, ograniczone dzielenie o łatwe porównanie, dodawanie i odejmowanie o przydatno w zapisie zmiennoprzecinkowym © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 SL–XIV DZIAŁANIA Dopełnienie liczby i liczba przeciwna* Dopełnienie liczby X = {xk −1 ,..., x1 , x0 ,..., x− m }β (digit-complement) X = {xk −1 ,..., x1 , x0 ,..., x− m : xi = ( β − 1) − xi }β X + X = {β − 1,..., β − 1}β = Q X=X i Q=0 Je li jest wykonalne działanie X + Y lub X − Y to mamy X − Y = (Q − X) − Y = Q − ( X + Y) = X + Y X + Y = (Q − X) + Y = Q − ( X − Y ) = X − Y Odwrotno addytywna liczby X = {xk −1 ,..., x1 , x0 ,..., x− m }β – liczba przeciwna ~ ~ X = {~ xk −1 ,..., ~ x1 , ~ x0 ,..., ~ x− m }β ⇔ X + X = 0 ~ ~ ~ ~ Je li istnieje liczba Q , to X = 0 − X = Q + Q − X = Q + X i wtedy ~ X − Y = X + ( Y + Q) ~ W systemach uzupełnieniowych Q = ulp = [0,...,0,1} © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 DZ–I DZIAŁANIA Dodawanie i odejmowanie w systemach uzupełnieniowych* W systemach naturalnych reprezentacj liczby wi kszej (mniejszej) o jednostk (ulp=β–m o reprezentacji {0,…,0,1}) od danej jest wynik pozycyjnego dodania (odj cia) ulp do (od) tej liczby. • przeniesienie z pozycji najwy szej wiadczy o niewykonalno ci działania Brak argumentów przeciw stosowaniu reguły w systemach uzupełnieniowych (reprezentacj liczby przeciwnej jest 0 –X} • dodawanie i odejmowanie jednostki mo na wykona zgodnie z reguł xi ± yi ± ci = si ± βci +1 , • dodanie jednostki β–m do liczby najwi kszej ujemnej {β − 1,..., β − 1, β − 1} o warto ci „–β–m”, zgodnie z reguł (i) daje w wyniku poprawne 0 • odj cie jednostki β–m od 0, zgodnie z reguł (i) daje {β − 1,..., β − 1, β − 1} • problem wykonalno ci działania o jednopozycyjne rozszerzenie zakresu zapewnia poprawno wyniku ka dego dodawania lub odejmowania wykonanego zgodnie z reguł (i) © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 DZ–II DZIAŁANIA Dodawanie i odejmowanie w systemach stałobazowych Podstawowe działanie: odejmowanie – umo liwia wytworzenie 0 (0=X–X) oraz liczby przeciwnej (–X=0–X) (dodawanie: odejmowanie liczby przeciwnej: X + Y =dfX – ( 0 – Y), 0 = X – X)) (odejmowanie przez dodawanie wymaga tworzenia liczb przeciwnych) Problem: Dla ustalonego zbioru (zbiorów) dozwolonych warto ci cyfr (∈D*) opisa odwzorowanie wektorów cyfr reprezentuj cych składniki w reprezentacj liczby, której warto jest ró nic / sum warto ci argumentów: X = {xk −1 ,..., x1 , x0 ,..., x− m }β , Y = { yk −1 ,..., y1 , y0 ,..., y− m }β , xi , yi ∈ Di ⇓ ( si ∈ Di ) X ± Y = {..., sk −1 ,..., s1 , s0 ,..., s− m }β ⇔ {..., sk −1 ,..., s1 , s0 ,..., s− m }β = X ± Y W systemie stałobazowym mo na to zrealizowa wg schematu rekurencyjnego, wykonuj c działania na kolejnych pozycjach pocz wszy od najni szej: © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 DZ–III DZIAŁANIA Dodawanie i odejmowanie w systemach standardowych Je li zbiór cyfr jest standardowy, D = {0,1,…, β − 1} a podstawa dodatnia, to jednoznacznym rozwi zaniem problemu jest: x ± yi ± ci , gdy | xi ± yi ± ci | < β i wtedy ci +1 = 0, si = i xi ± yi ± ci m β , gdy | xi ± yi ± ci | ≥ β i wtedy ci +1 = 1. co mo na zapisa w postaci jednego równania z ograniczeniami; xi ± yi ± ci = ± βci +1 + si gdzie xi , yi , si ∈ {0,1,..., β − 1} ⇒ (ci ∈ {0,1} ⇒ ci +1 ∈ {0,1}) oraz Je li zbiór cyfr jest niestandardowy D = {0, d 1 ,d 2 ,…,d β − 1 ,…; d i mod β = i }, to rozwi zania s specyficzne i mog by niejednoznaczne si = xi ± yi ± ci m wi +1 β , przy tym xi , yi , si , ci ∈ D oraz wi +1 mod β ∈ D . © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 DZ–IV DZIAŁANIA Dodawanie wieloargumentowe w systemach naturalnych (1) • dodawanie jest przemienne i ł czne, wi c: n −1 n −1 n −1 n −1 X + Y + Z + ... = ∑ xi β + ∑ yi β + ∑ zi β + ... = ∑ ( xi + yi + zi ...)β i i i =0 i i i =0 i =0 i =0 • ka da suma warto ci cyfr na ka dej pozycji i mo e by zapisana jako liczba wielocyfrowa o wadze takiej jak waga pozycji (β i): xi + yi + ... + zi = ... + β 2 ri + 2 + β vi +1 + ui przy tym xi , yi ,..., zi , ui , vi +1 , ri + 2 ∈ {0,1,..., β − 1} • przekształcenie redukuje m składników do 1+log β m składników n −1 n −1 n +1 n X + Y + ... = ∑ (ui + vi +1 + ri + 2 ...) β = ∑ ui β + ∑ vi β + ∑ ri β i + ... i i =0 i i =0 i i =1 i=2 • redukcja mo e by wykonana równolegle na poszczególnych pozycjach, co pozwala szybko zredukowa sumowanie m liczb n-pozycyjnych do sumowania dwóch liczb o rozmiarze m+log β m pozycji ka da. © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 DZ–V DZIAŁANIA Dodawanie wieloargumentowe w systemach naturalnych (2) xi + yi + ... + zi = ... + β 2 ri + 2 + β vi +1 + ui przy tym xi , yi ,..., zi , ui , vi +1 , ri + 2 ∈ {0,1,..., β − 1} Je li jest ≤ β +1 składników jednocyfrowych, to ich suma jest dwucyfrowa: {vi +1 , ui } = {k , xi + yi + ... + zi − kβ } gdy 0 ≤ xi + yi + ... + zi − kβ < β , dodawanie mo na wykona dwuetapowo: • niezale nie obliczy sum na ka dej pozycji, • doda otrzymane liczby dwucyfrowe. ± vk sk xk–1 yk–1 … zk–1 uk–1 vk–1 sk–1 xk–2 yk–2 … zk–2 uk–2 vk–2 sk–2 xk–3 yk–3 … zk–3 uk–3 … … … … … … … v–m+4 … © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 x–m+3 y–m+3 … z–m+3 u–m+3 v–m+3 s–m+3 x–m+2 y–m+2 … z–m+2 u–m+2 v–m+2 s–m+2 x–m+1 y–m+1 … z–m+1 u–m+1 v–m+1 s–m+1 x–m y–m … z–m u–m s–m DZ–VI DZIAŁANIA Sekwencyjny algorytm mno enia w systemie naturalnym Mno na (multiplicand) A =| {as−1 ,..., a− p+1 , a− p }β | , Mno nik (multiplier) X =| {xk −1 ,..., x−m+1 , x−m }β | , k −1 k −1 i A ⋅ X = A ⋅ ∑ xi β = ∑ β i ( xi A) i =− m i=− m algorytm pisemny – dodawanie skalowanych iloczynów cz ciowych ( S −m = 0 ) S i +1 = S i + β i ( xi A) , i = −m, −m+1,...,k−1 algorytm dodaj-przesu (add-and-shift) – skalowanie sum cz ciowych Si Pi = β −i S i wtedy Pi +1 = β −1 ( Pi + x i A) k −1 β Pk = P− m + A{ ∑ xi β i } = A ⋅ X k i=−m © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 DZ–VII DZIAŁANIA Konstrukcja tabliczki mno enia w systemach naturalnych (1) • dla 1≤k≤β − 1 iloczyn k⋅(β − 1) jest liczb dwucyfrow o sumie cyfr β – 1: k ( β − 1) = (k − 1) β + ( β − k ) = {k − 1, β − k } β • iloczyn jest przemienny (a*b=b*a) – wystarczy wypełni od przek tnej • odległo ci liczb w rz dach i kolumnach s stałe • przek tna: x2=(x–1)(x+1)+1 (np. 32=(3–1)*(3+1)+1=4*2+1) ↓+2 β 2 4 6 8 →+2 →+3 →+4 →+5 ↓+3 ↓+4 ↓+5 … 3 4 5 6 8 9 3*4 5*3 4*3 5*3+1 66**44++11 5*3 … … … … … … ↑–3 … 2 3 4 5 … … … β−2 β−1 (1,β−2) (2,β−3) (3,β−4) (4,β−5) ↑–2 WNIOSEK: wi kszo ↑–4 ↑–5 β−2 β−1 (1,β−2) –2 ← (2,β−3) –3 ← (3,β−4) –4 ← … … –5 ← … … … … (β−4,4) (β−3,2) … (β−3,2) (β−2,1) suma cyfr β−1 oblicze mo na wykona bez generowania przeniesie … © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 DZ–VIII DZIAŁANIA Konstrukcja tabliczki mno enia w systemach naturalnych (2) • odległo ci przek tnych te s stałe • przek tne „styczne wierzchołkami” odliczane od przek tnej głównej te mo na wypełnia niemal automatycznie, bo (n2=1+3+5+...+2n−1) x2=(x–2)(x+2)+4=(x–2)(x+2)+1+3 (np. 42=(4–2)*(4+2)+4=6*2+4) x2=(x–3)(x+3)+9=(x–3)(x+3)+1+3+5 (np. 52=(4–2)*(4+2)+4=6*2+4) a2−1 a 2 ...−1 a −1 2 x2−1 ... x2 ...−1 ...− ...−1− ...− −3 … 2 x −9 ...−1−3 x 2− 4 x 2− 1 … −3 −1 −5 • pozostałe przek tne s odległe od siebie kolejno o 2, o 4, o 6 itd. x (x–1) =(x+1)(x–2)+2, x (x–1) =(x+2)(x–3)+2+4, ... © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 (np. 5*4=6*3+2) (np. 5*4=7*2+2+4) DZ–IX DZIAŁANIA Tabliczki mno enia w systemach naturalnych 4 6 2 3 4 5 7 2 3 4 5 6 4 — — 11 14 — 13 22 31 2 4 10 12 14 — 13 20 23 — — 24 32 — — — 41 2 4 6 11 13 15 — 12 15 21 24 — — 22 26 33 — — — 34 42 — — — — 51 5 2 3 4 2 3 3 4 5 3 4 5 6 9 2 3 4 5 6 7 8 11 2 3 4 5 6 7 8 9 A 2 4 6 8 11 13 15 17 — 10 13 16 20 23 26 — — 17 22 26 31 35 — — — 27 33 38 44 — — — — 40 46 53 — — — — — 54 62 — — — — — — 71 2 4 6 8 A 11 13 15 17 19 — 9 11 14 17 1A 22 25 28 — — 15 19 22 26 2A 33 37 — — — 23 28 32 37 41 46 — — — — 33 39 44 4A 55 — — — — — 45 51 58 64 — — — — — — 59 66 73 — — — — — — — 74 82 — — — — — — — — 91 3 4 5 6 7 8 3 4 5 6 7 8 9 A © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 DZ–X DZIAŁANIA Algorytm dzielenia całkowitego Dla danych liczb całkowitych X (dzielna, ang. dividend) oraz D≠ 0 (dzielnik ang. divisor) istniej liczby całkowite Q (iloraz, ang. quotient) oraz R (reszta, ang. remainder) takie, e X = Q⋅ D + R, |R|<|D| Dla R≠0 równanie dzielenia ma 2 rozwi zania – je li 0 < R < D, to X = Q⋅ D + R = (Q+1)⋅ D + ( R–D), Wyró nia si : • dzielenie znakowane (signed div.) – zgodne znaki reszty i dzielnej (R D ≥ 0) • dzielenie modularne (modulus div.) – znak reszty dodatni (R ≥ 0) W systemie pozycyjnym o podstawie β dzieln i dzielnik mo na skalowa n –p przez β , ergo iloraz mo na obliczy z dowoln dokładno ci β . Je li X = {xk −1 ,..., x1 , x0 ,...}β i D = {d l −1 ,..., d1 , d 0 ,...}β , to: Q = {qk −l +1 , qk −l ,..., q0 ,...q− p }β = k −l +1 ∑q β i i , przy tym X – Q⋅ D ≤ D*β –p i =− p © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 DZ–XI DZIAŁANIA Dzielenie sekwencyjne w systemie naturalnym Algorytm oblicze jest iteracyjny – na podstawie przybli enia obliczonego z dokładno ci β i oblicza si kolejn cyfr ilorazu wyznaczaj c przybli enie z dokładno ci β i–1 Pierwszym przybli eniem ilorazu jest {qs ,0,...,0}β = Qs ,1 = qs β s takie, e q s β s D ≤ X < (q s + 1) β s D , 0 ≤ R1 = X − qs β s D < β s D s–i+1 (i cyfr znacz cych), to Je li Qs,i jest przybli eniem ilorazu z dokładno ci β s–i przybli eniem z dokładno ci β (i+1 cyfr) jest Qs ,i +1 = Qs ,i + qs −i β s −i takie, e qs −i β s −i D ≤ Ri = X − Qs ,i D < (qs −i + 1) β s −i D , 0 ≤ Ri +1 = Ri − qs −i β s −i D < β s −i D , co po skalowaniu ( ri = Ri β i −s−1 ) prowadzi do nierówno ci parametrycznej 0 ≤ ri +1 = β ri − qs −i D < D © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 DZ–XII KONWERSJA PODSTAWY Pozycyjne rozwini cie liczby w systemie naturalnym W systemie naturalnym o podstawie β jednoznaczn reprezentacj liczby X ≥ 0, {xk −1 ,..., x0 , x−1 ,..., x− m ,...}β , jest rozwi zanie równania k −1 ∑ xi β i = xk −1 β k −1 + xk −2 β k −2 + ... + x−m β − m + ... = X , i=−m z warunkami: xi ∈ {0,1,...,β − 1}. UWAGA: Rozwini cie cz ci ułamkowej mo e by niesko czone (okresowe). W praktyce warto liczby jest zapisana w jakim systemie pozycyjnym, wi c rozwi zanie problemu nazywa si konwersj podstawy. • działania wykonywane s w systemie ródłowym (o podstawie ω) • podstawa systemu docelowego β jest zakodowana w systemie ródłowym β = |{bp, …, b1, b0}ω | • wyniki {zs–1, zs–1, …, z–r}β – w systemie o podstawie β ( s ≤ k log β ω ) © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 KP–1 KONWERSJA PODSTAWY Konwersja tablicowa 1. Utwórz tablic pot g podstawy docelowej β n , β n–1 ,…, β –m , β n < X<β n+1 2. Metod „odejmij i porównaj” wyznacz kolejne cyfry reprezentacji: i = n , X n= X Powtarzaj, dopóki i > m (dokładno oblicze β –m ) a) Je li qβ i ≤ Xi < ( q+1)β i < 0, to xi=q, b) i : = i – 1, Xi–1= Xi– xiβ i problem: warto ci pot g ujemnych s przybli one, np. 0,110 = 0,(00011)2 wada: dokładno oblicze narzucona z góry Przykład (...)10→(...)8 (83=512, 82=64, 8–1=0,125, 8–2=0,16625) 1937,0312510=3⋅512+3⋅64+2⋅8+1+2⋅64–1=3⋅83+3⋅82+2⋅81+1⋅80+2⋅8–2=3321,028 Bezpo rednie obliczenie Zapisujemy podstaw i warto ci cyfr w systemie docelowym i wykonujemy obliczenie. W praktyce dotyczy to tylko konwersji na system dziesi tny… Przykład: 110110112=(1*27+1*26+1*24+1*23+1*21+1*20=128+64+16+8+2+1)10=21910 35428=(3*83+5*82+4*81+2*80=3*512+5*64+4*8+2*1=1536+320+32+2)10=189010 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 KP–2 KONWERSJA PODSTAWY Schemat Hornera warto W (n) wielomianu mo na obliczy jako: n ( x) = ∑ ai xi = a0 + x {a1 + x [a2 + x(a3 + ... + x (an−1 + x an ))]} i =0 schemat klasyczny – suma iloczynów przez pot gi zmiennej • n dodawa i n mno e , • n–1 oblicze pot g • potrzebna pami pot g schemat Hornera – suma iloczynów przez zmienn • n dodawa i n mno e , • zb dna pami Szybkie obliczanie warto ci liczby w systemie pozycyjnym liczby całkowite n Z β = ∑ z i β i = {[...[( z n β + z n −1 ) β + z n − 2 ]β + ... + z 2 ]β + z1}β + z 0 i =0 liczby ułamkowe – skalowanie ułamka U, aby otrzyma U=Zβ–m, albo (uniwersalnie) Uβ = −m ∑ ui β i = −1 m −1 i = ∑ u s − m β s − m = β − m {[...(u − m β + u − m +1 ) β + ... + u −3 ]β + u − 2 }β + u −1 s =0 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 KP–3 KONWERSJA PODSTAWY Generowanie reprezentacji pozycyjnej Dla cz ci całkowitej XI oraz ułamkowej XF liczby X mamy odpowiednio k −1 X I = ∑ xi β i = x0 + β {x1 + β [ x2 + ...β ( xk − 2 + β xk −1 )]} i =0 XF = −1 ∑ xi β i = β −1{x−1 + β −1[ x−2 + ... + β −1 ( x−m+1 + β −1 x−m )...]} i =− m Regularno wyra e prowadzi do algorytmów generowania reprezentacji: • uniwersalnych – niezale nych od systemu, • dynamicznych – niezale nych od warto ci liczby. Algorytmy musz uwzgl dnia specyfik arytmetyki systemu pozycyjnego • ujemn podstaw w systemach negabazowych • ujemne cyfry w systemach SD • ujemn warto cyfry rozszerzenia w systemach uzupełnieniowych © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 KP–4 KONWERSJA PODSTAWY Konwersja cz ci całkowitej liczby A mod b – reszta z dzielenia A przez b A div b – iloraz całkowity A przez b X I = I 0 = x0 + β {x1 + β [ x2 + β ( x3 + ...β ( xk −2 + β xk −1 )...)]} x0 = I 0 mod β I 0 div β = I1 = x1 + β [ x2 + β ( x3 + β [ x4 + ...β ( xk − 2 + β xk −1 )...])] x1 = I1 mod β I1 div β = I 2 = x2 + β ( x3 + β [ x4 + β ( x5 + ...β ( xk −2 + β xk −1 )...)]) x2 = I 2 mod β … cyframi rozwini cia cz ci całkowitej XI liczby X w systemie o podstawie β s : x j = I j mod β , I j +1 = I j div β = int β −1I j , I 0 = X I Je li Ir = 0, to xr+1 = 0, Ir+1 = 0 itd. (kolejne cyfry lewostronnego rozwini cia s zerami) © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 KP–5 KONWERSJA PODSTAWY Algorytm konwersji cz ci całkowitej liczby Procedura (na podstawie rozwini cia Hornera): Powtarzaj, dopóki nie uzyskasz ilorazu równego 0: 1. Oblicz iloraz i reszt z dzielenia liczby przez podstaw systemu docelowego 2. Otrzymana reszta jest kolejn cyfr rozwini cia pozycyjnego w systemie o podstawie docelowej β 3. Otrzymany iloraz poddaj procedurze dzielenia Algorytm wyznaczania reprezentacji cz ci całkowitej (A naturalne) 0. X(0) = A i=0 1. X(i+1) = int(X(i) / β) 2. xi = X(i) – β X(i+1) 3. i ++ 4. if X(i+1) ≠ 0 goto 1 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 ; podstaw warto ci pocz tkowe ; iloraz całkowity ; reszta ; zwi ksz i ; powtarzaj dopóki iloraz ≠ 0 KP–6 KONWERSJA PODSTAWY Konwersja cz ci ułamkowej liczby int A – cz całkowita liczby A X F = F1 = β −1{x−1 + β −1[ x−2 + β −1 ( x−3 + ... + β −1 ( x−m+1 + β −1 x−m )...)]} x−1 = int β F1 βF1 − x−1 = F2 = β −1[ x−2 + β −1 ( x−3 + β −1[ x−4 + ... + β −1 ( x−m+1 + β −1 x−m )...])]} x−2 = int β F2 βF2 − x−2 = F3 = β −1 ( x−3 + β −1[ x−4 + β −1 ( x−5 + ... + β −1 ( x−m+1 + β −1 x−m )...)]) x−3 = int β F3 cyframi rozwini cia cz ci ułamkowej XF liczby X w systemie o podstawie β s x− j = int β F j , F j +1 = β F j − x− j < 1 , F1 = X F < 1 Je li Fr = 0, to x–(r+1) = 0, Fr+1 = 0 itd. (kolejne cyfry prawostronnego rozwini cia s zerami) Je li dla r > r0 jest Fr = Fr–k, to rozwini cie jest okresowe (okres ma k cyfr) © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 KP–7 KONWERSJA PODSTAWY Algorytm konwersji ułamka wymiernego Procedura (na podstawie rozwini cia rekurencyjnego) 1. Pomnó ułamek przez podstaw systemu docelowego β 2. Cz całkowita iloczynu kolejn cyfr rozwini cia pozycyjnego 3. Cz ułamkow iloczynu ponownie poddaj procedurze 4. Powtarzaj tak długo a : – uzyskasz wymagan dokładno β–m (odpowiedni liczb cyfr), – otrzymasz iloczyn równy 0, – wykryjesz okresowo (pojawi si ułamek argument taki jak wcze niej). Reprezentacja cz ci ułamkowej (A < 1) z dokładno ci 0. X(0) = A, x0 = 0 i=0 1. x–i = int(β X(i) ) 2. X(i+1) = β X(i) – x–i 3. i ++ 4. if i ≤ m & X(i+1) ≠ 0 goto 1 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 β–m ; podstaw warto ci pocz tkowe ; cz całkowita iloczynu ; cz ułamkowa iloczynu ; zwi ksz i ; powtarzaj dopóki za mała dokładno ; i niezerowy argument KP–8 KONWERSJA PODSTAWY Konwersja ułamka wymiernego w systemach naturalnych Uwaga Wynikiem konwersji ułamka wymiernego jest ułamek sko czony lub okresowy WŁA CIWO konwersji ułamka Je li ka dy dzielnik podstawy ródłowej ω jest dzielnikiem podstawy docelowej β, to wynikiem konwersji ułamka sko czonego jest ułamek sko czony [∀p ∈ P : NWD ( p, ω ) = p ⇒ NWD ( p, β ) = p ] ⇒ ∃r < ∞ : i = −1 i = −1 ∑ xi ω = ∑ zi β i i i=−m i =−r DOWÓD. Je li F jest ułamkiem sko czonym m-pozycyjnym w bazie ω, to F= −1 ∑ xiω i =−m i =ω −m m −1 ∑ xi − mω i = Aω − m , 0 ≤ A ≤ ω m − 1, A ∈ N . i =0 F ma sko czone rozwini cie tak e w bazie β, je eli istnieje B∈N i r < ∞ takie, e F = Bβ − r , 0 ≤ B ≤ β r − 1 . Załó my, e NWD(p,β) = 1. Ale wówczas byłoby Aβ r = Bω m & NWD ( p, β ) = 1 & NWD ( p, ω ) = p ⇒ NWD ( p m , A) = p m , wi c rozwini cie F byłoby niesko czone, chyba e A = k pm. © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 KP–9 KONWERSJA PODSTAWY Konwersja liczby ujemnej na system uzupełnieniowy 1. Ka dy ujemny ułamek wła ciwy mo na przedstawi jako 1+f, gdzie f jest dodatnim ułamkiem wła ciwym, wi c liczb –(X + f ) mo na przedstawi jako –(X+1)+(1 – f ) 2. Wagi wszystkich cyfr reprezentacji uzupełnieniowych s dodatnie, wi c konwersja cz ci całkowitej wymaga nast puj cego post powania: 1) kolejne ilorazy maj taki znak jak liczba przetwarzana, 2) warunek stopu: dwa kolejne ilorazy identyczne, czyli iloraz równy warto ci ci gu cyfr rozszerzenia (0 lub –1) Ii –1573 –197 –25 –4 –1 –1 … –157310→XU8→ZU2 mod 8 3 3 7 4 7 7 (7) =x0 =x1 =x2 =x3 =x4 =x5 –157310 = (7)4733U8 = (1)100 111 011 011U2 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 KP–10 KONWERSJA PODSTAWY Konwersja podstawy skojarzonej – przykłady 2345671,3215... = 2 ⋅106 + 34 ⋅104 + 56 ⋅102 + 71 ⋅100 + 32 ⋅10−2 + 15 ⋅10− 4... = = 2 ⋅1003 + 34 ⋅100 2 + 56 ⋅1001 + 71 ⋅1000 + 32 ⋅100 −1 + 15 ⋅100−2... 11 100 111, 011 1012 = 112 ⋅ 26 + 1002 ⋅ 23 + 1112 ⋅ 20 + 0112 ⋅ 2−3 + 1012 ⋅ 2−6 = = 38 ⋅ 82 + 48 ⋅ 81 + 78 ⋅ 80 + 38 ⋅ 8−1 + 58 ⋅ 8− 2 = 347,358 2347,358 = 2 ⋅ 83 + 3 ⋅ 82 + 4 ⋅ 81 + 7 ⋅ 80 + 3 ⋅ 8−1 + 5 ⋅ 8−2 = = 0102 ⋅ 29 + 0112 ⋅ 26 + 1002 ⋅ 23 + 1112 ⋅ 20 + 0112 ⋅ 2−3 + 1012 ⋅ 2−6 = = 010 011 100 111, 011 1012 = 0100 1110 0111, 0111 01002 = = 01002 ⋅ 28 + 11102 ⋅ 24 + 01112 ⋅ 20 + 01112 ⋅ 2− 4 + 01002 ⋅ 2−8 = 4E7,7416 (1)100111,011101U 2 = (111) 100 111, 011101U 2 = (7)47,35 U 8 = = (1111) 1110 0111, 0111 0100 U 2 = (F)E 7,74 U16 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 KP–11 KONWERSJA PODSTAWY Konwersja podstawy skojarzonej w systemach naturalnych X = ... + x5 β 5 + x4 β 4 + x3 β 2 + x2 β 2 + x1 β 1 + x0 β 0 + x−1 β −1 + x−2 β −2 ... = = ...( x5 β + x4 ) β 4 + ( x3 β + x2 ) β 2 + ( x1 β + x0 ) β 0 + ( x−1 β + x− 2 ) β − 2 + ... = = ...( x5 β 2 + x4 β + x3 ) β 3 + ( x2 β 2 + x1β + x0 ) β 0 + ( x−1 β 2 + x− 2 β + x−3 ) β −3 + ... a zatem: k −1 ∑ xi β i =− m i = t −1 ∑ ( x js+ s−1β s −1 + ... + x js +1β + x js )( β ) = j =− r s j t −1 ∑ z j (β s ) j j =− r czyli {xk −1 ,..., x1 , x0 ,..., x− m } β = {zt −1 ,..., z1 , z0 ,..., z− r } β s gdzie z j = x js + s −1β s −1 + ... + x js +1β + x js ∈ {0,1,..., β s − 1} – warto cyfry w (..)β ↑ s Zło enie konwersji – (..)β ↑ k →(..)β ↑ s (..)β ↑ k →(..)β ↑ s ⇔ (..)β ↑ k →(..)β || (..)β →(..)β ↑ s ω < β s ⇒ zamiast konwersji (..)ω →(..)β wygodniej realizowa (..)ω →(..)β ↑ s © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 KP–12 KONWERSJA PODSTAWY Konwersja podstawy w systemach naturalnych – przykłady 157,38610→X8→Z2 oraz 157,38610→X9→Z3 (8=23 9=32). mod 23 ×23 Fi Ii mod 32 Ii 157 0 386 157 19 5 =x0 x-1 = 3 088 17 4 =x0 2 3 =x1 x-2 = 0 704 1 8 =x1 0 2 =x2 x-3 = 5 632 0 1 =x2 157,38610 = 235,305...8 = 10011101,011000101...2 ×32 0 x-1 = 3 x-2 = 4 x-3 = 2 Fi 386 474 266 394 157,38610 = 184,3429 = 12211,101102...3. 235,3058→X10 oraz 235,3058→X9→Z3 (działania w systemie ósemkowym) Fi Ii mod 118 ×3 Ii mod 128 ×128 2358 0 3058 2358 0 178 7 =x0 x-1 = 3 6628 218 4 =x0 x-1 = 3 1 5 =x1 x-2 = 108 3648 1 8 =x1 x-2 = 4 0 1 =x2 x-3 = 4 6108 0 1 =x2 x-3 = 1 235,3058 =157,384...10 = 184,341...9 = 12211,101101...3. © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 Fi 3058 3558 1258 3758 KP–13 KONWERSJA PODSTAWY Konwersja ułamka wymiernego Ułamek sko czony w bazie danej ω mo e by okresowy w bazie docelowej β za wynikiem konwersji ułamka okresowego mo e by ułamek sko czony. 0,110 = 0,00011001100110011…2 = 0,0(0011)2 548 → X10 618 x0 =0 0 x–1 =8 =108 x–2 =9 =118 x–3 =7 =78 ×128=1010 608 6708 = 618 618 47 7408 + 8= 618 618 57 606 8 … + 8= 618 618 + © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 KP–14 KONWERSJA PODSTAWY Konwersja ułamków okresowych w systemach naturalnych • zamiana na ułamek wymierny 1 z β −c 1 z 0, x−1...x− k ( z − k −1...z − k −c ) β = k x + x = + k c −c β 1− β β β −1 • automatyczna korekcja okresu podczas mno enia – przeniesienie wewn trz okresu jest cykliczne ułamek wymierny 53210 → X8 0,5(37)10 = 99010 ułamek okresowy 0,5(37)10→X8 tylko 0,(xy...z)β 0,(386)10→X7 ×7 0 ×8 296 4256 10 10 = x–1 = 4 + 99010 99010 38810 236810 = 99010 99010 13410 310410 + = x–3 = 3 99010 99010 x–2 = 2 + 0 5 (37) ×8 …2 (96) x–1 = 4 2 (98) …7 (84) x–2 = 2 3 (91) …7 (28) x–3 = 3 1 (35) © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 0 (386) x–1 = 2 (704) x–2 = 4 (928) (932) x–3 = 6 (524) (530) (702) KP–15 KONWERSJA PODSTAWY Konwersja podstawy w systemach stałobazowych Schemat Hornera mo e by u yty do zapisu warto ci liczby w dowolnym systemie stałobazowym WNIOSEK Algorytmy konwersji dla systemu naturalnego mo na stosowa tak e w dowolnym systemie stałobazowym lub uzupełnieniowym. Problem: arytmetyka musi by odpowiednia do wła ciwo ci systemu Przykład: 157,38610→(..)SD-8. (D = { 4 , 3, 2, 1, 0, 1, 2, 3} Ii Ii 157 19 5 → 20 3 34 03 mod 8 =x0 =x1 =x2 ×8 0 x-1 = 3 x-2 = 0 x-3 = 5 © Janusz Biernat, AK1-2-09- Liczby i konwersje.doc, 23 wrze nia 2009 Fi(!<500) 386 088 704 !! 632 ↑ ×8 x-1 = x-2 = x-3 = x-4 = 0 3 1 2 3 Fi 386 088 296 368 056 KP–16