Residual class system (SOC) ( engelsk restnummersystem ) är ett talsystem baserat på modulär aritmetik .
Representationen av ett tal i restklassens system baseras på begreppet rest och den kinesiska restsatsen . RNS bestäms av en uppsättning parvisa coprime -moduler , det vill säga sådana som kallas en bas, och en produkt så att varje heltal från segmentet är associerat med en uppsättning rester , där
Samtidigt garanterar den kinesiska restsatsen det unika (unika) i representationen av icke-negativa heltal från intervallet .
I RNS utförs aritmetiska operationer (addition, subtraktion, multiplikation, division) komponent för komponent om resultatet är känt för att vara ett heltal och även ligger i .
Tilläggsformel: var
Subtraktion, multiplikation och division utförs på liknande sätt. Obs : Det finns ytterligare restriktioner för division. Divisionen måste vara ett heltal, det vill säga divisorn måste dividera utdelningen med ett heltal. Divisorn måste vara coprime med alla moduler i basen.
SOC används i stor utsträckning inom mikroelektronik i specialiserade DSP- enheter , där det krävs:
Praktisk tillämpning: Tjeckoslovakisk vakuumrördator "EPOS" , sovjetisk militär multiprocessor superdator 5E53 , designad för att lösa missilförsvarsproblem .
Inom modulär aritmetik finns det speciella uppsättningar av moduler som gör att du delvis kan utjämna bristerna och för vilka det finns effektiva algoritmer för att jämföra tal och för direkt och omvänd översättning av modulära tal till ett positionsnummersystem. Ett av de mest populära modulsystemen är en uppsättning av tre parvisa samprimtal av formen {2 n −1, 2 n , 2 n +1} .
Överväg en RNS med grund . I denna bas är det möjligt att representera tal från intervallet från till en-till-ett , eftersom . Korrespondenstabell med tal från positionsnummersystemet och systemet med restklasser:
Låt oss lägga till två siffror 9 och 14 i basen . Deras representation i den givna grunden och (se tabellen ovan). Låt oss använda formeln för addition:
- enligt tabellen ser vi till att resultatet blir 23.
Multiplicera två siffror 4 och 5 i grund . Deras representation i den givna grunden och (se plattan ovan). Låt oss använda formeln för multiplikation:
– enligt tabellen ser vi till att resultatet blir 20.
Notera: om vi skulle multiplicera eller lägga till tal som gav ett tal större än eller lika med som ett resultat av multiplikation, då är det erhållna resultatet, där är resultatet av operationen i positionsnummersystemet.
Division kan utföras på samma sätt som multiplikation, men bara om divisorn delar utdelningen jämnt, utan rest.
För moduler , dividera talet 1872 med 9.
Dividera med .
Låt oss använda formeln
Här måste det sägas att , vilket inte är detsamma som att bara dividera med .
Enligt formeln får vi:
Detta är det korrekta resultatet - siffran 208. Ett sådant resultat kan dock endast erhållas om det är känt att divisionen utförs utan en rest.