Maradékos osztás nagy számokkal

Hasonló dokumentumok
Laplace transzformáció

GÉPÉSZETI ALAPISMERETEK

Mindennapjaink. A költő is munkára

Gyengesavak disszociációs állandójának meghatározása potenciometriás titrálással

Tetszőleges mozgások

Kalandtúra 6. Munkafüzet megoldások. 6. osztályos tanulók számára. Fiala Ildikó

A m becslése. A s becslése. A (tapasztalati) szórás. n m. A minta és a populáció kapcsolata. x i átlag

Kidolgozott minta feladatok kinematikából

1. MINTAFELADATSOR KÖZÉPSZINT JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

FIZIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Proxy Cache Szerverek hatékonyságának vizsgálata The Performance of the Proxy Cache Server

Egyedi cölöp süllyedésszámítása

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Gyakorló feladatok a Kísérletek tervezése és értékelése c. tárgyból Kísérlettervezés témakör

Villámvédelem 3. #5. Elszigetelt villámvédelem tervezése, s biztonsági távolság számítása. Tervezési alapok (norma szerint villámv.

A kör harmadik pontjának meghatározásához egy könnyen kiszámítható pontot keressünk

TestLine - Fizika 7. osztály mozgás 1 Minta feladatsor

Családi állapottól függõ halandósági táblák Magyarországon

= 450 kg. b) A hó 4500 N erővel nyomja a tetőt. c) A víz tömege m víz = m = 450 kg, V víz = 450 dm 3 = 0,45 m 3. = 0,009 m = 9 mm = 1 14

Szinuszjel-illesztő módszer jeltorzulás mérésekhez 1. Bevezetés 2. A mérés elve

RANGSOROLÁSON ALAPULÓ NEM-PARAMÉTERES PRÓBÁK

Proxy Cache szerverek hatékonyság vizsgálata

9. GYAKORLAT STATISZTIKAI PRÓBÁK SPSS-BEN FELADATOK

5. gyakorlat Teljesítménymodellezés Megoldások

A rögzített tengely körül forgó testek kiegyensúlyozottságáról kezdőknek

Laplace-transzformáció és alkalmazása

A 2006/2007. tanévi Országos középiskolai Tanulmányi Verseny második fordulójának feladatai és azok megoldásai f i z i k á b ó l. I.

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Villamosmérnöki szak BME Villamosmérnöki és Informatikai Kar május 31.

Hálózati Algoritmusok

ALKALMAZOTT MŰSZAKI HŐTAN

1.1. A Laplace-transzformált és fontosabb tulajdonságai

Gyakorló feladatok Az alábbiakon kívül a nappalis gyakorlatokon szereplő feladatokból is lehet készülni.

TARTÓSZERKEZETEK II.-III.

Laplace-transzformáció és alkalmazása

4. gyakorlat Teljesítménymodellezés Megoldások

1-1. számú melléklet PÁLYÁZATI FELHÍVÁS

NYILATKOZAT. Egyesülés, szétválás ideje: (év) (hónap) (nap)

Perifériakezelés. Segítség március 16. Izsó Tamás Perifériakezelés/ 1

1. A mozgásokról általában

Mérések, hibák. 11. mérés. 1. Bevezető

Széchenyi István Egyetem MTK Szerkezetépítési és Geotechnikai Tanszék Tartók statikája I. Dr. Papp Ferenc RÚDAK CSAVARÁSA

Adatbázisok elmélete 17. előadás

Az aszinkron (indukciós) gép.

Bor Pál Fizikaverseny, középdöntő 2012/2013. tanév, 7. osztály

A WEB SZERVER MEGHIBÁSODÁSÁNAK HATÁSA A PROXY CASH SZERVEREK HATÉKONYSÁGÁRA. Bérczes Tamás, Sztrik János Debreceni Egyetem, Informatikai Kar

Forrás: Esztergálás

Eötvös Lóránd Tudományegyetem Természettudományi Kar. A Laplace-transzformáció és alkalmazásai. Szakdolgozat. Laczkó Éva

Kiszorítják-e az idősebb munkavállalók a fiatalokat a közszférában?

Jeges Zoltán. The mystery of mathematical modelling

NAGYKANIZSA MEGYEI JOGÚ VÁROS POLGÁRMESTERE. E L Ő T E R J E S Z T É S NAGYKANIZSA MEGYEI JOGÚ VÁROS KÖZGYŰLÉSÉNEK április 28-i ülésére

Budapesti Műszaki és Gazdaságtudományi Egyetem Közlekedésmérnöki Kar Repülőgépek és hajók Tanszék

Az előadáshoz. Tartalom

Frekvenciatartomány Irányítástechnika PE MI BSc 1

3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}

A rekurzív módszer Erdős Gábor, Nagykanizsa

Csima Judit október 24.

A kémiai kötés magasabb szinten

Hidraulikatömítések minősítése a kenőanyag rétegvastagságának mérése alapján

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

FIZIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Az átviteli (transzfer) függvény, átviteli karakterisztika, Bode diagrammok

Érzékelők és beavatkozók

Miért kell az autók kerekén a gumit az időjárásnak megfelelően téli, illetve nyári gumira cserélni?

Dinamika. F = 8 N m 1 = 2 kg m 2 = 3 kg

Gyakorló feladatok a mozgások témaköréhez. Készítette: Porkoláb Tamás

1Érkezett : 1. A KÉRELMEZŐ ADATAI A kérelmező szervezet teljes neve: Téglás Városi Sportegyesület

A maximálisan lapos esetben a hurokerősítés Bode diagramjának elhelyezkedése Q * p így is írható:

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

MUNKA, ENERGIA, TELJESÍTMÉNY tankönyvpótlék összeállította: Basa István külön köszönet: Gizinek

Feladatgy jtemény az Irányítástechnika II. c. tárgyhoz

Regresszióanalízis. Lineáris regresszió

Tevékenység: Tanulmányozza, mi okozza a ráncosodást mélyhúzásnál! Gyűjtse ki, tanulja meg, milyen esetekben szükséges ráncgátló alkalmazása!

Matematika M1 1. zárthelyi megoldások, 2017 tavasz

Harmadik gyakorlat. Számrendszerek

Tartalomjegyzék. dr. Lublóy László főiskolai docens. Nyomott oszlop vasalásának tervezése

tema08_biolf_

Opkut 2. zh tematika

1Érkezett : 1. A KÉRELMEZŐ ADATAI A kérelmező szervezet teljes neve: Petőfi Sportkör Lipót

I. Egyenlet fogalma, algebrai megoldása

PISZKOZAT. 1Érkezett : 1. A KÉRELMEZŐ ADATAI. A kérelmező szervezet rövidített neve: CKSE 2Gazdálkodási formakód:521 3Tagsági azonosítószám 1322

Adatbázisok elmélete 12. előadás

Assembly programozás: 2. gyakorlat

Hatvani István fizikaverseny forduló megoldások. 1. kategória

Mérnökirodai szolgáltatásunk keretében további felvilágosítással, szakmai tanácsadással is állunk tisztelt ügyfeleink rendelkezésére.

1. megold s: A keresett háromjegyű szám egyik számjegye a 3-as, a két ismeretlen számjegyet jelölje a és b. A feltétel szerint

Minden egész szám osztója önmagának, azaz a a minden egész a-ra.

Azért jársz gyógyfürdőbe minden héten, Nagyapó, mert fáj a térded?

MINERVA TÉRINFORMATIKAI RENDSZER ELEKTROMOS HÁLÓZAT TÉRINFORMATIKAI INTEGRÁCIÓJA

6. gyakorlat Követelmények elemzése, felderítő adatelemzés Megoldások

FIZIKA EMELT SZINTŰ KÍSÉRLETEK 2011

ξ i = i-ik mérés valószínségi változója

tema08_biolf_

A 2006/2007. tanévi Országos középiskolai Tanulmányi Verseny második fordulójának feladatai és azok megoldásai f i z i k á b ó l III.

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA

A 2014/2015. tanévi Országos Középiskolai Tanulmányi Verseny első forduló MATEMATIKA I. KATEGÓRIA (SZAKKÖZÉPISKOLA) Javítási-értékelési útmutató

A differenciálgeometria alapjai: görbeelmélet

A kérelmező szervezet rövidített neve: SRK DSE 2Gazdálkodási formakód: 001. Áfa levonásra a pályázatban igényelt költségek tekintetében

Marás. Forgácsleválasztás homlokmarással

Élmény. Nyári élményem... na jó, nem fogom elsorolni. Sok volt. Meg már őszi is.

Átírás:

Maradéko oztá nagy zámokkal Uray M. Jáno, 01 1 Bevezeté Célunk a nagy termézete zámokkal való zámolá. A nagy itt azt jelenti, hogy nagyobb, mint amivel a zámítógép közvetlenül zámolni tud. A termézete zámok körében a négy alapművelet a következő: özeadá, kivoná, zorzá é maradéko oztá. Adottnak tekintjük, hogy a zámítógép ezeket ki zámokra el tudja végezni, é célunk, hogy ennek egítégével nagy zámokra i megvalóítuk a műveleteket. Haonlóan fogunk eljárni, ahogy írában zoká zámolni. Írában a zámolát arra vezetjük viza, hogy a tíze zámrendzer zámjegyeivel tudunk zámolni. Írjuk fel hát mi i a zámainkat egy olyan zámrendzerben, amelynek zámjegyeivel a gép közvetlenül zámolni tud. A zámrendzer alapzámát jelöljük q-val, é legyen kettőhatvány, mégpedig n. Ha pl. egy 3-bite procezorunk van, akkor n = 3, é q = 3 = 4.94.967.96. 1.1 Gond az oztáal Ha végiggondoljuk hogy hogyan végezzük el a műveleteket írában, akkor rájövünk, hogy mége tudunk mindent vizavezetni a zámjegyekkel való zámolára. Az özeadá, a kivoná é a zorzá még megy, az oztáal azonban gond van. Az oztáal akkor van gond, ha az oztó több zámjegyből áll. Ilyenkor ugyani minden lépében ezzel a több zámjegye zámmal kell oztani, mert cak az oztandót bontjuk fel rézekre. Ezt még tovább kéne bontani, de ez olyan egyzerűen már nem megy. A továbbiakban már cak a maradéko oztáal foglalkozunk, épedig azzal, hogy hogyan lehet az oztát lebontani egézen a zámjegyekig. 1. Megoldá A problémát úgy oldjuk meg, hogy az oztót kerekítjük. A pontatlan, kerekített oztóval oztunk, majd az így kapott eredményből vizakövetkeztetünk az eredeti oztá eredményére. Nyilván azt zeretnénk, hogy a kerekített oztóval könnyebb legyen zámolni, mint az eredetivel. Ezért a kerekített érték úgy fog kinézni, hogy egy kettőhatvány zorzódik egy elég kici zámmal (olyan kicivel, amivel már közvetlenül tudunk zámolni, vagyi q-nál kiebbel). Hogy a lehető legkiebb legyen a kerekítéi hiba, a lehető legnagyobbnak válaztjuk az elég kici zámot. 1.3 Kicit formáliabban Jelöljük az oztandót a-val, az oztót pedig b-vel. Célunk az a/b maradéko oztá hányadoát é maradékát meghatározni, ezeket jelöljük rendre c-vel é d-vel. (Mind a négy zám termézete zám.) A maradéko oztá azt jelenti, hogy a = bc + d, é d < b. Tezünk egy kikötét: a < bq. Miért jó ez, é mi következik ebből? Írjuk fel, hogy bq > a = bc+d bc. Ha a két végét özeolvauk, é oztjuk a pozitív b-vel, akkor azt kapjuk, hogy c < q. 1

Vagyi, az a < bq feltétellel azt kötöttük ki, hogy a hányado, c belefér egy zámjegybe. Bár elő ránézére ez erő megzorítának tűnhet, de az általánoabb oztá mindig vizavezethető ilyen oztáokra (gondoljunk arra, hogy hogyan oztunk írában). A feltétel egyébként azt i kiköti, hogy b 0, hizen 0q-nál nem lehett kiebb az a. Tegyünk még egy kikötét: b q. Ezzel azt érjük el, hogy a b-ben van legalább n bit, amit majd a kerekíté orán igyekzünk megőrizni. Az b < q eettel nem foglalkozunk külön, mert akkor az oztá nyilvánvaló (vagy legalábbi nem nehezebb, mint mondjuk a zorzá, amivel zintén nem foglalkozunk). A b < q eetet amúgy i érdeme külön kezelni, mivel lényegeen hatékonyabb, mint az általáno eet, é például zámrendzerátváltáokhoz gyakran van ilyenekre zükég (pl. ha tíze zámrendzerben akarunk kiírni egy zámot). Jelöljük -el, hogy hány bitet hanyagolhatunk el legfeljebb a kerekíté orán: := log b + 1 n. Mivel + n a b bitjeinek záma, n bitet fogunk megőrizni a kerekíté orán. (A b q feltételből következik, hogy termézete zám, tehát nem negatív.) Az oztó kerekített értékét jelöljük b -vel, é az a/b oztából zármazó eredményeket pedig c -vel é d -vel, értelemzerűen. Ez azt jelenti, hogy a = b c + d é d < b. A kerekíté miatt b oztható -nel, vagyi az aló bitje mind nulla. Még két jelölé: legyen b a két oztó eltérée, azaz b := b b ; márézt legyen c a két hányado előjele eltérée, azaz c := c c. 1.4 A kerekített oztá Azért kerekítettük b-t, hogy b -vel könnyebb legyen oztani. Valóban könnyebb oztani vele? A jó az, hogy b oztható -nel, vagyi zorzatként felírható. A zorzat tényezőivel pedig külön-külön oztunk. De hogyan kell tényezőnként oztani maradékoan? Nézzük általánoan: ozuk el a-t xy-nal maradékoan. Előzör x-zel: a = xc x + d x, ahol d x < x. Majd a c x -et ozuk el y-nal i: c x = yc y + d y, ahol d y < y. Behelyetteítve: a = x(yc y + d y ) + d x = xyc y + xd y + d x. Úgy tűnik, hogy az xy-nal való oztá hányadoa c y, maradéka pedig xd y + d x. Hogy ez tényleg így van-e, az már cak attól függ, hogy a maradék kiebb-e, mint xy. Felhaználjuk a d x < x é a d y < y feltételeket. Mivel egéz zámokról van zó, az i igaz, hogy d y y 1. x-zel zorozva: xd y xy x. Hozzáadjuk a d x < x egyenlőtlenéget: xd y + d x < xy, é ezt akartuk megmutatni. Tehát felbonthatjuk a b -vel való oztát két rézre: előzör -nel oztunk, majd a b máik tényezőjével. A kettőhatvánnyal való maradéko oztá nem cinál mát, mint két rézre oztja az a bitjeit: az aló bit lez a maradék, é a többi a hányado. Az a felő bitjeit kell már cak b -nel oztani, ami egy elég kici egéz zám. Az így kapott maradékot pedig cak ki kell egézíteni az a aló bitjeivel, hogy megkapjuk a b -vel való oztá maradékát. Kerekítéi tételek Már tudjuk, hogy hogyan kell oztani b -vel, de a legfontoabb kérdére még nem adtunk válazt: hogyan fogjuk a kerekített oztá eredményéből, azaz c -ből é d -ből megkapni az eredeti oztá eredményét, c-t é d-t? Ehhez előzör i meg kell mondani, hogy pontoan hogyan kerekítettünk. Azt már mondtuk, hogy b -nek ozthatónak kell lennie -nel. Az fenti válaztáa azért nagyon fonto, mert így a b-ből a lehető legtöbb értéke bit marad meg úgy, hogy azok még beleférjenek egyetlen zámjegybe. Azt vizont még nem mondtuk meg, hogy milyen irányban kerekítünk. Ez alapján három lehetőéget nézünk meg: a lefelé kerekítét, a felfelé kerekítét é a zabályo kerekítét. Lefelé

kerekíténél b az a legnagyobb -nel oztható zám lez, mely legfeljebb b. Felfelé kerekíténél fordítva: b az a legkiebb -nel oztható zám lez, mely legalább b. Szabályo kerekíténél b a b-hez legközelebb álló -nel oztható zám lez. Ha két ilyen i van, akkor a nagyobbik. Mindhárom kerekítének megvan a maga előnye é hátránya. A lenti tételek válazt fognak adni arra a kérdére, hogy a kerekített oztá hányadoa mennyivel térhet el az eredeti oztá hányadoától, azaz a c lehetége értékeit mondják meg..1 Segédtétel Előzör bizonyítunk egy általáno tételt, amely egyelőre távol áll az eddigi jelöléektől. Vizont fel tudjuk haználni az eredményt a három konkrét kerekítéi tétel bizonyítáához. Jelöléek 1. a, b 1, b, c 1, c, d 1, d, x, y, z N. b := b b 1 3. c := c 1 c Feltétel 1. Maradéko oztá: i {1, } : a = b i c i + d i d i < b i.. Oztók vizonya: b b 1 > 0. 3. Az oztók eltérée: b x 4. c < y. 5. log b 1 z Állítá c [0.. x+y z ] Bizonyítá 1. Megmutatjuk, hogy c 0. Ez az állítá egyik fele. Egyrézt a = b c +d b c. Márézt a = b 1 c 1 +d 1 < b 1 c 1 +b 1 = b 1 (c 1 +1) b (c 1 +1). A két végét özeolvava azt kapjuk, hogy b (c 1 +1) > b c. Ezt eloztjuk a pozitív b -vel: c 1 + 1 > c, átrendezve c > 1. De c egéz zám, így c 0. Ha meggondoljuk, ez elég termézete: ha az oztót növeljük, akkor a hányado legfeljebb cökkenhet.. Megmutatjuk, hogy c x+y z. Ez az állítá máik fele, a kevébé nyilvánvaló réz. Előzör alakítuk át a b 1 c-t: b 1 c = b 1 (c 1 c ) = b 1 c 1 b 1 c = b 1 c 1 (b b)c = b 1 c 1 b c + b c = (a d 1 ) (a d ) + b c = d d 1 + b c < b d 1 + b c b + b c = (b 1 + b) + b c = b 1 + b (c + 1) b 1 + x y = b 1 + x+y. Olvauk öze: b 1 c < b 1 + x+y, é ozuk el a pozitív b 1 -gyel: c < 1 + x+y b 1. A jobb oldalon álló kifejezét tovább becüljük felülről úgy, hogy a b 1 -t becüljük alulról. 3

Tudjuk, hogy log b 1 z, amiből következik, hogy log b 1 z, azaz b 1 z. Ezt alkalmazzuk: c < 1 + x+y b 1 1 + x+y = 1 + x+y z. Azt kaptuk, hogy c < 1 + x+y z, z de mivel egéz zámokról van zó, c x+y z. Megjegyzéek 1. A bizonyítá elő felében cak az elő két feltételt haználtuk.. A tételben zereplő b-nek é c-nek egyelőre emmi köze ninc a korábban bevezetett ugyanilyen nevű paraméterekhez. Vizont a lenti három tételben úgy fogjuk haználni ezt a egédtételt, hogy mégi lez közük egymához még ha nem i feltétlenül fognak egybeeni az azono nevűek (hanem pl. ellentettjei leznek egymának).. A lefelé kerekíté tétele Feltétel b-t lefelé kerekítjük: b = b b, A kerekíté pontoága: b. A kerekített oztó i ugyanannyi értéke bitet tartalmaz, mint az eredeti: log b + 1 = + n Állítá c {0, 1, }. Bizonyítá Felhaználjuk a egédtételt, az alábbi zerepoztáokkal: b 1 := b, c 1 := c, d 1 := d ; b := b, c := c, d := d; x :=, y := n, z := + n 1. A feltételek nyilvánvalóan teljeülnek. A tétel azt mondja, hogy c [0.. x+y z ]. Mot x + y z = + n ( + n 1) = 1, azaz c [0..] = {0, 1, }, é ezt kellett bizonyítani..3 A felfelé kerekíté tétele Feltétel b-t felfelé kerekítjük: b = b + b, A kerekíté pontoága: b. Állítá c {, 1, 0}. 4

Bizonyítá Imét felhaználjuk a egédtételt, de mot a vezőök tekintetében fordított zerepoztáal: 1. b 1 := b, c 1 := c, d 1 := d;. b := b, c := c, d := d ; 3. x :=, y := n, z := + n 1. A legtöbb feltétel magától értetődően itt i teljeül. Az egyetlen kérdé a c < y, azaz hogy c < q. Azt tudjuk, hogy c < q. Megmutatjuk, hogy c c. Azt a trükköt haználjuk, hogy felhaználjuk a egédtétel elő felét. Ehhez zükég van arra az ézrevételre, hogy a c < y feltételt ott még nem haználja fel a tétel, tehát azt a felét nyugodtan alkalmazhatjuk anélkül i. Az a réz pedig éppen azt mondja, hogy c c, így megmutattuk, hogy c < q. Mot már teljeül minden feltétel a egédtételhez. Ebből következik, hogy c [0.. x+y z ]. Azért c, mert az itteni c = c c, de az ottani c = c c. Mot i igaz, hogy x + y z = + n ( + n 1) = 1, ezért c [0..], vagyi c {, 1, 0}, é ezt kellett bizonyítani..4 A zabályo kerekíté tétele Feltétel A kerekíté pontoága: b 1. A kerekített oztó nem tartalmaz keveebb értéke bitet, mint az eredeti: log b + 1 + n Állítá c { 1, 0, 1}. Bizonyítá Két eet lehetége attól függően, hogy b vagy b a nagyobb. Mindkét rézben a egédtételre hivatkozunk. Ha b b, ekkor ugyanazt a zerepoztát haználjuk, mint a felfelé kerekíté tételénél, kivéve: x := 1. Ekkor x + y z = ( 1) + n ( + n 1) = 0. A egédtétel zerint c [0.. 0 ], azaz c { 1, 0}. Ha b b, akkor pedig a lefelé kerekíté tételének zerepoztáát vezük alapul, de itt i van egy kivétel: x := 1. A c < q feltételt i ugyanúgy látjuk be, mint ott. Az előző eethez haonlóan mot i x + y z = 0, tehát a tétel zerint c [0.. 0 ] = {0, 1}. Ha özeítjük a két eredményt: c { 1, 0, 1}, megkapjuk a bizonyítandó állítát. 3 Vizakövetkezteté Az eddigiek alapján, ha imerjük a pontatlan hányadot (c -t), akkor tudunk mondani egy zűk (háromelemű) halmazt, amelyben a ponto hányado (c) van. De még nem tudjuk megmondani, hogy éppen melyik lez a három közül. Arról zintén nem volt zó, hogy a maradékot (d-t) hogyan határozzuk meg. Mot ezekről lez zó. 5

Nagy zerence, hogy a c lehetége értékei cak háromelemű halmazt alkotnak, é nem mondjuk tízeleműt vagy zázeleműt (ezért volt kulcfontoágú, hogy a b annyi értéke bitet megőriz a b-ből, amennyit cak lehet). Így ugyani mindöze két özehaonlítáal el tudjuk majd dönteni, hogy melyik eet áll fenn. A legegyzerűbb módzer az, hogy megzorozzuk c -t b-vel, a ponto oztóval. Ha többet kapunk, mint az a, akkor c túl ok volt, cökkentük eggyel. Ha pedig az eredmény jóval kiebb, mint az a (azaz legalább b-vel kiebb), akkor növeljük a c -t eggyel. (Kerekítéfüggő, hogy melyiket kell megvizgálni.) Így két lépében biztoan eljutunk a jó c-hez. A maradékot pedig az a bc kifejezé adja meg. Megnézünk egy máik módzert i, egy fokkal hatékonyabbat. Ott nem nem b-vel fogjuk zorozni a c -t, hanem b-vel, amely egy zámjeggyel rövidebb, így eggyel keveebb elemi zorzá kell hozzá. A módzert a háromféle kerekítére külön-külön mutatjuk be. 3.1 Lefelé kerekíté Mot az a helyzet, hogy c {0, 1, }. Ez azt jelenti, hogy a kereett c vagy egyenlő c -vel, vagy eggyel keveebb, vagy kettővel keveebb. Előzör megmutatjuk, hogy c < c k a b < c k, ha k egy tetzőlege egéz zám. Becüljük az a b -t: a b = bc+d b = c + d b, é tudjuk, hogy 0 d < b, ezért c a b < c + 1. A jobbról balra irány már következik i ebből. A fordítotthoz még az kell, hogy a bal oldalon egéz zámok vannak, így c + 1 c k, é ebből következik a jobb oldal. Mielőtt megindokolnánk, hogy miért van zükég erre az állítára, tovább alakítjuk a jobb oldalt. Megzorozzuk mindkét oldalt a pozitív b-vel, é beírjuk, hogy a = b c + d : b c + d < bc kb. Ezt átrendezzük, felhaználva, hogy b = b b : d < b c kb. A végeredmény tehát: c < c k d < b c kb. De miért i jó ez nekünk? Ha k-t 0-nak vagy 1-nek válaztjuk, akkor zükége é elégége feltételeket kapunk arra, hogy c mikor kiebb c -nél legalább eggyel, é mikor kettővel. A féltételben pedig, mint ígértük, a b c zorzat zerepel. Már cak a d meghatározáa van hátra. Ezt a c három lehetége értékére külön adjuk meg. Mindhárom eetben az a kétféle felíráából indulunk ki: bc + d = b c + d. Ebbe fogjuk a c különböző értékeit helyetteíteni. Pontoan akkor lez c = c, ha d b c. Ezt a fenti feltételből kapjuk a k = 0 helyetteítéel (é mindkét oldal tagadáával). Ekkor az a kétféle felíráa így fog kinézni: bc + d = b c + d, átrendezve: d = d b c. Egyébként, azaz ha d < b c, akkor c < c. Pontoan akkor lez c = c 1, ha b b c d (ez a k = 1 helyetteítéből adódik). Ekkor b(c 1)+d = b c +d, átrendezve: d = b ( b c d ). A harmadik eetben, azaz ha b < b c d, lez c = c. Ekkor b(c ) + d = b c + d, átrendezve: d = b (( b c d ) b). Igyekeztünk könnyen zámolható alakban felírni a végeredményeket. Például a harmadik eet felíráából látzik, hogy b c d kifejezét többzör i haználjuk, így előre ki tudjuk zámítani. Márézt a rézeredmények oem negatívak, é a lehető legkiebbek. A legvégén, az Özefoglalá c. fejezetben megimételjük a végeredményeket. 3. Felfelé kerekíté Mot c {, 1, 0}, vagyi c vagy egyenlő c -vel, vagy eggyel több, vagy kettővel több. Mot azt fogjuk előzör bebizonyítani, hogy c > c + k a b c + k + 1. Még mindig igaz, hogy c a b < c+1. Ezt felhaználva a jobb oldali állítából következik, hogy c+1 > c +k+1, ami ugyanaz, mint a bal oldali. Ha a bal oldali egyenlőtlenégből indulunk ki, akkor kihaználjuk, 6

hogy egéz zámokról van zó, é átírjuk úgy, hogy c c + k + 1. Ebből pedig következik a jobb oldali állítá. Átalakítjuk a jobb oldalt. Megzorozzuk a pozitív b-vel, é beírjuk az a máik alakját: b c + d bc + b(k + 1). Átrendezzük (mot b = b b): b c + d b(k + 1). Ezzel megkaptuk az özefüggét: c > c + k b c + d b(k + 1). Mot jön a d meghatározáa, a három eetben. Pontoan akkor lez c = c, ha b c + d < b (ez a k = 0 eet). Ekkor bc + d = b c + d, átrendezve: d = b c + d. Egyébként (azaz ha b c + d b), pontoan akkor lez c = c + 1, ha b c + d b < b (ez a k = 1 eet). Ekkor b(c + 1) + d = b c + d, azaz d = b c + d b. Különben (azaz ha b c +d b b) c = c +, amiből következik, hogy b(c +)+d = b c +d, é átrendezve megkapjuk, hogy d = b c + d b. 3.3 Szabályo kerekíté Mot c { 1, 0, 1}, vagyi c vagy egyenlő c -vel, vagy eggyel több, vagy eggyel keveebb. Előzör azt kell megnézni, hogy melyik a nagyobb: b vagy b? Ha b b, akkor tulajdonképpen lefelé kerekítettünk. Vagyi haználhatjuk a lefelé kerekíté képleteit, de mot még azt i tudjuk, hogy c nem lehet c, tehát a máodik özehaonlítá felelege. Ha pedig b b, vagyi felfelé kerekítettünk, akkor ugyanúgy kell eljárni, mint a felfelé kerekíténél, cak itt em fordulhat elő az utoló eet, azaz hogy c = c +. 4 Előnyök é hátrányok Azért vizgáltunk meg többféle kerekítét i, mert mindegyiknek megvannak a maga előnyei é hátrányai. Ezeket nézzük mot meg, zempontok zerint. 4.1 A kerekíté Melyik irányba milyen könnyű kerekíteni? A legkönnyebb a lefelé kerekíté: egyzerűen cak elhagyjuk a b aló bitjét, nullát írva a helyükre. Azt i cak gondolatban, hizen úgyi b -nel fogunk zámolni, vagyi a felő n bittel. A felfelé kerekíté egy fokkal nehezebb: amellett, hogy az aló bitet kinullázzuk (zintén cak gondolatban), meg kell nézni, hogy eleve mind nulla volt-e; ha nem, akkor az egézhez hozzá kell adni -t. Legalábbi, ha a zokáo felfelé kerekítére gondolunk. De vegyük ézre, hogy a kerekítéi tételben cak annyit tettük fel, hogy b, vagyi akár i lehet a kerekíté pontatlanága. Ezt azt jelenti, hogy valójában nem kell figyelnünk, hogy az aló bit mind nulla-e (ennek az eélye amúgy i elenyézően cekély) elég, ha feltétel nélkül hozzáadjuk a -t a zámhoz. Ez a hozzáadá cak a felő n bitet érinti: ahhoz kell egyet hozzáadni. A zabályo kerekíténél meg kell nézni az. bitet, mert attól függ, hogy melyik irányba kerekítünk. Ha 1, akkor felfelé, különben lefelé. Itt i kinullázzuk gondolatban az aló bitet, é ha felfelé kerekítünk, akkor hozzáadunk -t. 4. Túlcordulá Mindeddig nem volt zó egy úlyo problémáról. Ez az elméleti zámoláokat nem befolyáolja, de a zámítógépe megvalóítát lényegeen annyira, hogy akár ez lehet a legfontoabb zempont, ami dönt a három kerekíté között. 7

Azt feltettük, hogy c < q, tehát c belefér egyetlen zámjegybe (má zóval gépi zóba). Az i világo, hogy b < q, hizen az -et éppen úgy válaztottuk meg, hogy a maradék beleférjen egy zámjegybe. Arról azonban nem volt zó, hogy a kerekíté után i megmaradnak-e ezek a tulajdonágok, vagyi hogy c? < q é hogy b? < q. Foglaljuk öze egy táblázatban, hogy mikor melyik hogyan érülhet meg: b c Lefelé kerekíté (jó) q, q + 1 Felfelé kerekíté q (jó) Szabályo kerekíté q q Látható, hogy a felfelé kerekíté a legjobb, mert ott cak egyféleképpen cordulhat túl valami, é az már a kerekíténél kiderül. A zabályo kerekíténél bármelyik lehet q, de nem egyzerre. É amikor már tudjuk a kerekíté irányát, akkor az egyiket ki tudjuk zárni. Mivel lényegeen könnyebb (é hatékonyabb) egy zámjegyű zámokkal zámolni, ezért a túlcorduló eeteket külön érdeme kezelni. A b = q eet a legegyzerűbb, mert az már a kerekíté előtt látzik: akkor fordul elő, amikor felfelé kerekítünk, é a b felő n bitje mind 1. Számolni i könnyű vele, hizen ekkor b = +n, é kettőhatvánnyal borzaztó egyzerű maradékoan oztani. Ha a c vielkedik rozul, azzal az a baj, hogy nehezebb ézre venni. Lefelé kerekítékor fordulhat elő. Könnyen látható, hogy c < q a < b q. Ha a vezőket elhagyjuk, akkor tudjuk, hogy mindkét oldal igaz. Ellenőrizni kell tehát, hogy amikor lefelé kerekítünk, megmarad-e ez a tulajdonág. Ha nem, akkor a c túlcordul. A zabályo kerekíténél tudjuk, hogy ekkor c = q, de a lefelé kerekíténél még q + 1 i lehet. A b c kizámítáánál ezeket az eeteket külön kell zámolni. Ha c = q, akkor könnyű, mert q kettőhatvány. Ha c = q + 1, akkor em olyan nehéz, lényegében cak egy özeadá: b q + b. 4.3 A vizavezeté műveletigénye A lényege különbég a három vizavezeté között a feltételekben é a d kizámítáában van. Ezek a végén, az Özefoglalá c. fejezetben láthatók rendzerezve. A műveletek orán nagy zámokat kell özehaonlítani, özeadni é kivonni. Ezek egyenként több (-el arányo zámú) elemi művelettel helyetteíthetők. Nem mindegy tehát, hogy hány művelet kell elvégezni. Mind a lefelé, mind a felfelé kerekíténél egy vagy két özehaonlítát kell végezni, mert három eet lehetége. A zabályo kerekíténél azonban mindig cak egyet kell: ha már tudjuk ugyani, hogy merre kerekítünk (é ez egyetlen biten múlik), akkor cak két eet van. Érdeme megjegyezni, hogy bizonyo eetekben az elő két kerekíténél i kiküzöbölhető a máodik özehaonlítá. Ha ugyani kiderül, hogy b < 1 (ami egyetlen bit vizgálatát jelenti), akkor a zabályo kerekítéhez haonlóan nem lehet c é c eltérée, tehát kizártuk a harmadik lehetőéget. Haonlítük még öze az elő, nem megúzható özehaonlítáokat i. A lefelé kerekíténél ez a d b c, a felfelé kerekíténél pedig b c + d < b. Ez utóbbi egy özeadáal több, de ezt a zorzáal párhuzamoan tudjuk végezni zámjegyenként, ugyani a b c -re külön ninc zükég ehol. A gond azzal lehet, hogy ez az özeg eggyel több bitnyi helyet igényel, mint a két tagja külön-külön (azok + n biten elférnek, de az özegük lehet ( + n + 1)-bite i. Ezt az utoló bitet adott eetben külön érdeme kezelni. 8

5 Özefoglalá Feltevéek, jelöléek: q = n a = bc + d d < b a = b c + d d < b a < bq (má zóval c < q) b q := log b + 1 n b mod = 0 b := b b c := c c A háromféle kerekíté jellemzői: b túlcordulá c b c Lefelé kerekíté b b b 0, 1, (ninc) q, q + 1 Felfelé kerekíté b b b +, 1, 0 q (ninc) Szabályo kerekíté b 1 b b + 1 1, 0, 1 q q Vizavezeté: Lefelé kerekíté Felfelé kerekíté Szabályo kerekíté feltétel c d ha d b c c d b c kül. ha b b c d c 1 b ( b c d ) különben c b (( b c d ) b) ha b c + d < b c b c + d kül. ha b c + d b < b c + 1 b c + d b különben c + b c + d b ha b < b ha d b c c d b c különben c 1 b ( b c d ) különben ha b c + d < b c b c + d különben c + 1 b c + d b 9