Számrendszerek a kultúrában | |
---|---|
indoarab | |
Arab tamil burmai |
khmer laoszi mongol thai |
kelet Ázsiai | |
Kínai japán Suzhou koreai |
Vietnami számlálóbotok |
Betűrendes | |
Abjadia örmény Aryabhata cirill görög |
Grúz etióp zsidó Akshara Sankhya |
Egyéb | |
Babiloni egyiptomi etruszk római dunai |
Padlás Kipu Maja Égei KPPU szimbólumok |
helyzeti | |
2 , 3 , 4 , 5 , 6 , 8 , 10 , 12 , 16 , 20 , 60 | |
Nega-pozíciós | |
szimmetrikus | |
vegyes rendszerek | |
Fibonacci | |
nem pozíciós | |
Egyes szám (egyetlen) |
A negatív-pozíciós számrendszer egy negatív bázisú pozíciószámrendszer . Az ilyen rendszerek sajátossága, hogy a negatív számok előtt nincs előjel, és ezért nincsenek előjelszabályok. A páratlan számú számjegyű nem-pozíciós rendszerek bármely száma pozitív, páros számjegyű pedig negatív. Gyakran egy nem pozicionális rendszerben lévő szám eggyel több számjegyet igényel, mint ugyanaz a szám egy pozitív alaprendszerben. Általában egy nem helyzeti rendszer neve a neg- előtagból és a megfelelő számrendszer pozitív bázisú nevéből áll; például nega-decimális (b = -10) , nega-terner (b = -3) , nega-bináris (b = -2) és mások.
Negapozíciós jelölés | Pozíciós jelölés | Számábrázolás |
---|---|---|
174 (-10) | 34 (10) | 1 (-10) 2 + 7 (-10) 1 + 4 (-10) 0 = 100 - 70 + 4 = 34 |
46 (-10) | -34 (10) | 4 (-10) 1 + 6 (-10) 0 = -40 + 6 = -34 |
11001 (-2) | 1001 (2) | 1 (-2) 4 + 1 (-2) 3 + 0 (-2) 2 + 0 (-2) 1 + 1 (-2) 0 = 16 − 8 + 1 = 9 |
A nem pozíciós számrendszereket először Vittorio Grünwald javasolta Giornale di Matemache di Battaglini 23-ban (203-221. o.), amely 1885 -ben jelent meg . Grunwald algoritmusokat írt le összeadáshoz, kivonáshoz, szorzáshoz, osztáshoz, gyökkivonáshoz, oszthatósági kritériumokhoz és számrendszer-transzformációkhoz.
Az x szám egy bázissal rendelkező nem pozíciós számrendszerben egy szám hatványainak lineáris kombinációjaként jelenik meg :
,ahol a számjegyeknek nevezett egész számok , amelyek kielégítik az egyenlőtlenséget , a számjegy nullától kezdődő sorszáma, n a számjegyek száma. Az ilyen rekordok minden fokozatát kategóriának nevezzük, a kategóriák szolgálati idejét és a hozzájuk tartozó számjegyeket a mutató értéke határozza meg . Általában egy nem nulla számhoz szükséges, hogy a b -áris reprezentáció legmagasabb számjegye is nullától eltérő legyen.
A negatív pozíciórendszerek összehasonlíthatók az előjel-számjegyű rendszerekkel , például a szimmetrikus háromtagú rendszerekkel , ahol a rendszer alapja pozitív, de a számjegyek negatív értékeket vehetnek fel valamilyen intervallumból.
Egyes számoknak ugyanaz az ábrázolása az alap és a (pozíciós és a megfelelő nem-pozíciós) számrendszerekben. Például a 100-tól 109-ig terjedő számokat ugyanúgy írjuk a decimális és a negatizedes számrendszerben. Hasonlóképpen:
Vagyis a 17-es számnak ugyanaz az ábrázolása a kettes és nem bináris számrendszerekben - .
A –12-től 12-ig terjedő számok ábrázolása különböző számrendszerekben:
Decimális | Nega decimális | Bináris | Nega-bináris | hármas | Nega-terner |
---|---|---|---|---|---|
-12 | 28 | -1100 | 110100 | -110 | 1210 |
-tizenegy | 29 | -1011 | 110101 | -102 | 1211 |
-tíz | tíz | -1010 | 1010 | -101 | 1212 |
-9 | tizenegy | -1001 | 1011 | -100 | 1200 |
-nyolc | 12 | -1000 | 1000 | -22 | 1201 |
-7 | 13 | -111 | 1001 | -21 | 1202 |
-6 | tizennégy | -110 | 1110 | -húsz | húsz |
-5 | tizenöt | -101 | 1111 | -12 | 21 |
- négy | 16 | -100 | 1100 | -tizenegy | 22 |
-3 | 17 | -tizenegy | 1101 | -tíz | tíz |
-2 | tizennyolc | -tíz | tíz | -2 | tizenegy |
-egy | 19 | -egy | tizenegy | -egy | 12 |
0 | 0 | 0 | 0 | 0 | 0 |
egy | egy | egy | egy | egy | egy |
2 | 2 | tíz | 110 | 2 | 2 |
3 | 3 | tizenegy | 111 | tíz | 120 |
négy | négy | 100 | 100 | tizenegy | 121 |
5 | 5 | 101 | 101 | 12 | 122 |
6 | 6 | 110 | 11010 | húsz | 110 |
7 | 7 | 111 | 11011 | 21 | 111 |
nyolc | nyolc | 1000 | 11000 | 22 | 112 |
9 | 9 | 1001 | 11001 | 100 | 100 |
tíz | 190 | 1010 | 11110 | 101 | 101 |
tizenegy | 191 | 1011 | 11111 | 102 | 102 |
12 | 192 | 1100 | 11100 | 110 | 220 |
Egy szám nem pozíciós ábrázolását úgy kaphatjuk meg, hogy az eredeti szám maradékával (vagyis a nem-pozíciós rendszer alapjával) egymás után osztjuk, és a maradékokat az utolsótól kezdve sorba írjuk. Vegye figyelembe, hogy ha a maradékkal , akkor . Példa a negatív-terner rendszerre történő fordításra:
Ezért a 146 (10) szám negaterner reprezentációja 21102 (-3) .
Megvalósítás C# nyelven: // Negaternáris static string negaternary ( int value ) { string result = string . Üres ; do { int maradék = érték % - 3 ; érték = érték / - 3 ; if ( maradék < 0 ) { maradék += 3 ; érték += 1 ; } eredmény = maradék . ToString ( ) + eredmény } while ( érték != 0 ); eredmény visszaadása ; } Megvalósítás C++ nyelven: // Nega-bináris #include <iostream> névtér használata std ; int main () { int érték , rem ; string res = "" ; cin >> érték ; csináld { rem = érték % -2 ; érték = érték / -2 ; ha ( rem < 0 ) { rem = rem + 2 ; érték ++ ; } if ( rem == 1 ) res = "1" + res ; if ( rem == 0 ) res = "0" + res ; } while ( érték != 0 ); cout << res ; } Megvalósítás Python 3.8-ban: # Nega-bináris res = "" érték = int ( bemenet ()) míg igaz : rem = érték % - 2 érték = érték // - 2 ha rem < 0 : rem = rem + 2 érték = érték + 1 if rem == 1 : res = "1" + res if rem == 0 : res = "0" + res ha érték == 0 : szünet nyomtatás ( res )Az oszlopos összeadást a szokásos rendszer szerint kell végrehajtani, például ha nem decimális számrendszerben akarunk összeadni, akkor ezt úgy kell megtenni, mint egy decimális számrendszerben . De egy kivétellel: ha bármely számjegy hozzáadásakor legalább 10-es számot kapunk, akkor a kapott számból ki kell írni az ebben a számjegyben lévő egységek számát, és ki kell vonni egyet a bal oldali számjegyből. . Ha nincs számjegy a bal oldalon, akkor adjon hozzá 19-et a bal oldalhoz (neg-decimálishoz, negatív hármashoz 12, negatív-binárishoz 11). Például (negatív decimális rendszer):
· · 18115 + 5487 35825 + 7 = 12, 2 az egységek kategóriájában, vonjon le egyet a szomszédos balról. 8 + 5 = 13, 3 a mínusz ezrek számjegyébe, vonjon le egyet a szomszédos balról.
· 72 + 49 19012+9=11, 1 az egységek számjegyeibe, a bal oldaliból vonjon ki egyet. 6 + 4 = 10, 0 a mínusz tízes kategóriában, nincs szomszéd a bal oldalon, a 19-et a balnak tulajdonítjuk.
Az oszlopkivonást a szokásos rendszer szerint kell végrehajtani, például ha nem ga-decimális számrendszerben (NDSS) akarunk kivonni, akkor ezt úgy kell megtenni, mint a decimális számrendszerben . De egy kivétellel: ha bármelyik számjegyből kivonáskor tízest kell venni, akkor megteszed, de a mellette lévő számjegyből nem vonsz ki egyet, hanem odaadod. Ha nincs számjegy a bal oldalon, akkor a bal oldalhoz rendeljen 1-et. Például (negatív decimális rendszer):
52 − 39 ??2−9 lehetetlen, veszünk egyet.
2 12 − − 9 9 ?? 312−9=3, az egyesek számjegyében 3, a bal oldali számjegyben egyet adunk (52−12= 52−2+10 =50+10=60). 6−3=3.
52 52 6 0 60 00 − − − − − 39 30 30 30 00 ?? ?3 ?3 ?3 3352 az NDSS-ben = -48 10 . 39 az NDSS-ben = -21 10 . 33 az NDSS-ben = -27 10 .
−48 10 − (−21 10 ) = −27 10 .
× | 0 | egy |
---|---|---|
0 | 0 | 0 |
egy | 0 | egy |
2 | 0 | 2 | 121 |
---|---|---|---|
egy | 0 | egy | 2 |
0 | 0 | 0 | 0 |
x | 0 | egy | 2 |
egy | 2 | 3 | négy | 5 | 6 | 7 | nyolc | 9 |
---|---|---|---|---|---|---|---|---|
2 | négy | 6 | nyolc | 190 | 192 | 194 | 196 | 198 |
3 | 6 | 9 | 192 | 195 | 198 | 181 | 184 | 187 |
négy | nyolc | 192 | 196 | 180 | 184 | 188 | 172 | 176 |
5 | 190 | 195 | 180 | 185 | 170 | 175 | 160 | 165 |
6 | 192 | 198 | 184 | 170 | 176 | 162 | 168 | 154 |
7 | 194 | 181 | 188 | 175 | 162 | 169 | 156 | 143 |
nyolc | 196 | 184 | 172 | 160 | 168 | 156 | 144 | 132 |
9 | 198 | 187 | 176 | 165 | 154 | 143 | 132 | 121 |