Jako jäännöksellä on aritmeettinen operaatio , jolla on suuri rooli aritmetiikassa , lukuteoriassa , algebrassa ja kryptografiassa . Useimmiten tämä operaatio määritellään kokonaisluvuille tai luonnollisille luvuille seuraavasti [1] . Olkoon ja kokonaislukuja, ja jakaminen jäännöksellä (" jakoinen") tarkoittaa ("jakaja") kokonaislukujen löytämistä ja siten, että yhtäläisyys pätee:
Siten jaon tulokset jäännöksellä ovat kaksi kokonaislukua: kutsutaan jaon osittaisosamääräksi ja jaon loppuosa . Jakojäännökselle asetetaan lisäehto: toisin sanoen jaon loppuosan on oltava ei-negatiivinen luku ja itseisarvoltaan pienempi kuin jakaja . Tämä ehto varmistaa jakotulosten ainutlaatuisuuden jakojäännöksellä kaikille kokonaisluvuille, eli yhtälölle on ainutlaatuinen ratkaisu yllä olevissa olosuhteissa. Jos jäännös on nolla, sen sanotaan olevan jaollinen
Osittaisen osamäärän löytämistä kutsutaan myös kokonaislukujakoksi , ja jaon jäännösosan löytämistä kutsutaan jäännöksen ottamiseksi tai epämuodollisesti modulo-jakolliseksi (jälkimmäistä termiä tulee kuitenkin välttää, koska se voi johtaa sekaannukseen renkaassa jaossa tai ryhmä tähteitä analogisesti yhteen- tai kertolaskumoduulin kanssa ).
EsimerkkejäJakooperaatio jäännöksellä voidaan määrittää paitsi kokonaisluvuille myös muille matemaattisille objekteille (esimerkiksi polynomeille ), katso alla .
Pysymällä tiukasti luonnollisten lukujen sisällä , on erotettava jäännöksellä jako ja kokonaisluvulla jako, koska nollajäännös ei ole luonnollinen luku; lisäksi epätäydellinen osamäärä jaettaessa pienempi luku suuremmalla tulee olla yhtä suuri kuin nolla, mikä johtaa myös luonnollisten lukujen ulkopuolelle. Kaikki nämä keinotekoiset rajoitukset vaikeuttavat formulaatioita tarpeettomasti, joten lähteissä yleensä joko otetaan huomioon laajennettu luonnollinen sarja , mukaan lukien nolla [2] , tai teoria muotoillaan välittömästi kokonaisluvuille, kuten edellä on osoitettu [1] .
Laskeaksesi positiivisella luvulla jaon osamäärän jakamalla (tavallisessa merkityksessä) tulos ja pyöristämällä tulos alaspäin lähimpään kokonaislukuun:
kun .jossa puolisulut tarkoittavat ottaen kokonaisluvun osan . Epätäydellisen osamäärän arvon avulla voit laskea jäännöksen arvon kaavalla:
Negatiivista jakajaa varten sinun on pyöristettävä osamäärä ylöspäin:
kun .Jäännöksen arvo voidaan saada binäärioperaatiolla "ottaa jäännös" jakamisesta luvulla , jota merkitään mod :
Tätä merkintää ei pidä sekoittaa modulo - vertailumerkintään . Kaava edellyttää vertailun suorittamista:
Käänteinen implikaatio ei kuitenkaan yleensä pidä paikkaansa. Tämä vertailu ei nimittäin tarkoita jäännökseksi välttämättömän epätasa-arvon täyttymistä.
Kieli | Epätäydellinen osamäärä |
Loput | Jäljellä oleva merkki |
---|---|---|---|
ActionScript | % | Osinko | |
Ada | mod | Jakaja | |
rem | Osinko | ||
PERUS | \ | MOD | Määrittämätön |
C (ISO 1990) | / | % | Määrittämätön |
C (ISO 1999) | / | % | Jaettavissa [3] |
C++ (ISO 2003) | / | % | Määrittämätön [4] |
C++ (ISO 2011) | / | % | Jaettavissa [5] |
C# | / | % | Osinko |
kylmäfuusio | MOD | Osinko | |
Yhteinen Lisp | mod | Jakaja | |
rem | Osinko | ||
D | / | % | Jaettavissa [6] |
Delfoi | div | mod | Osinko |
eiffel | // | \\ | Osinko |
Erlang | div | rem | Osinko |
Euforia | remainder | Osinko | |
Microsoft Excel (englanniksi) | QUOTIENT() | MOD() | Jakaja |
Microsoft Excel (venäjä) | ЧАСТНОЕ() | ОСТАТ() | |
tiedostojen valmistaja | Div() | Mod() | Jakaja |
Fortran | mod | Osinko | |
modulo | Jakaja | ||
GML (Game Maker) | div | mod | Osinko |
mennä | / | % | Osinko |
Haskell | div | mod | Jakaja |
quot | rem | Osinko | |
J | |~ | Jakaja | |
Java | / | % | Jaettavissa [7] |
Math.floorDiv | Math.floorMod | Jakaja (1,8+) | |
JavaScript | .toFixed(0) | % | Osinko |
Lua | % | Jakaja | |
Mathematica | Quotient | Mod | Jakaja |
MATLAB | idivide(?, ?, 'floor') | mod | Jakaja |
idivide | rem | Osinko | |
MySQL | DIV | MOD % |
Osinko |
Oberon | DIV | MOD | + |
Tavoite Caml | mod | Määrittämätön | |
Pascal | div | mod | Jaettavissa [8] |
Perl | Ei | % | Jakaja |
PHP | Ei [9] | % | Osinko |
PL/I | mod | Jakaja ( ANSI PL/I ) | |
Prolog (ISO 1995) | mod | Jakaja | |
PureBasic | / | Mod % |
Osinko |
Python | // | % | Jakaja |
QBasic | \ | MOD | Osinko |
R | %/% | %% | Jakaja |
RPG | %REM | Osinko | |
rubiini | / | % | Jakaja |
Kaavio | modulo | Jakaja | |
SenseTalk | modulo | Jakaja | |
rem | Osinko | ||
tcl | % | Jakaja | |
Verilog (2001) | % | Osinko | |
VHDL | mod | Jakaja | |
rem | Osinko | ||
Visual Basic | \ | Mod | Osinko |
Jaon loppuosan löytämistä käytetään usein tietotekniikassa ja tietoliikennelaitteissa tarkistusnumeroiden ja satunnaislukujen luomiseen rajoitetulla alueella, kuten kongruenttisatunnaislukugeneraattorissa .
Lopun ottamisen toiminnot eri ohjelmointikielillä on esitetty oikealla olevassa taulukossa. Esimerkiksi Pascalissa operaatio modlaskee jaon loppuosan ja operaatio divsuorittaa kokonaislukujaon, jossa jaon loppuosa hylätään:
78 mod 33 = 12 78 div 33 = 2Loppuosan ottaminen ohjelmointikielissä voi palauttaa negatiivisen tuloksen (negatiivinen osinko tai jakaja). Tässä on kaksi vaihtoehtoa:
Jos kielessä on molempien tyyppisiä jäännöksiä, kullakin niistä on oma osamääräoperaattorinsa. Molemmat toiminnot ovat tärkeitä.
Epätäydellinen osamäärä voidaan laskea jakamalla ja ottamalla kokonaislukuosa: , jossa , voi tehtävästä riippuen olla " lattia " tai katkaisu. Tässä jako on kuitenkin murtoluku , joka on paljon hitaampi kuin kokonaisluku. Tällaista algoritmia käytetään kielissä, joissa ei ole kokonaislukutyyppejä (erilliset laskentataulukot , ohjelmoitavat laskimet ja matemaattiset ohjelmat), sekä komentosarjakielissä , joissa tulkinnat ylittävät huomattavasti murto-aritmetiikka ( Perl , PHP ) ).
Jos komentoa ei ole, modloppuosa ohjelmoidaan muodossa .
Jos positiivinen ja etumerkki on sama kuin osingon etumerkki, ei ole määritelty tai tuntematon, voit käyttää kaavaa löytääksesi ei-negatiivisen vähimmäisjäännöksen .
Kahden potenssilla jaon epätäydellinen osamäärä ja ei-negatiivinen jäännös on bittisiirto ( merkittyille luvuille , aritmeettinen) ja .
Jos kaksi lukua ja (muu kuin nolla ) kuuluvat reaalilukujen joukkoon , voidaan jakaa ilman jäännöstä, ja osamäärä on myös reaaliluku. Jos ehdon osamäärän on oltava kokonaisluku , jäännös on tässä tapauksessa reaaliluku, eli se voi osoittautua murtoluvuksi .
Muodollisesti:
jos , niin missä . EsimerkkiJakamalla 7,9 luvulla 2,1 jäännöksellä saadaan:
(epätäydellinen osamäärä); (loppu).Gaussin luku on muodon kompleksiluku , jossa on kokonaislukuja. Niille voidaan määritellä jako jäännösjäännöksellä: mikä tahansa Gaussin luku voidaan jakaa jäännöksellä millä tahansa nollasta poikkeavalla Gaussin luvulla , eli se esitetään seuraavasti:
,jossa osamäärä ja jäännös ovat Gaussin lukuja, ja kuitenkin, toisin kuin kokonaisluvut, jaon loppuosa ei ole yksiselitteisesti määritelty. Voidaan esimerkiksi jakaa kolmeen tapaan:
Kun jaetaan kahden polynomin jäännöksellä ja tuloksen yksilöllisyydelle, asetetaan ehto: jäännöspolynomin asteen on oltava tiukasti pienempi kuin jakajan aste:
, ja . Esimerkki (loput 3 ), koska: .