Oktaalilukujärjestelmä

Numerojärjestelmät kulttuurissa
indoarabia
arabia
tamili
burma
Khmer
Lao
Mongolian
Thai
Itä-Aasialainen
Kiinalainen
japanilainen
Suzhou
korealainen
Vietnamilaiset
laskukepit
Aakkosellinen
Abjadia
armenia
Aryabhata
kyrillinen
kreikka
Georgian
Etiopian
juutalainen
Akshara Sankhya
muu
Babylonian
egyptiläinen
etruski
roomalainen
Tonava
Ullakko
Kipu
Mayan
Egeanmeren
KPPU-symbolit
paikallinen
2 , 3 , 4 , 5 , 6 , 8 , 10 , 12 , 16 , 20 , 60
Nega-asentoinen
symmetrinen
sekajärjestelmät
Fibonacci
ei-asentoinen
Yksikkö (yksittäinen)

Oktaalilukujärjestelmä  on paikallinen kokonaislukujärjestelmä , jonka kantaluku on 8 . Se käyttää numeroita 0-7 edustamaan numeroita .

Oktaalijärjestelmää käytetään yleisimmin digitaalisiin laitteisiin liittyvillä alueilla. Sille on ominaista helppo muuntaa oktaaliluvut binääriluvuiksi ja päinvastoin korvaamalla oktaaliluvut binäärikolmoisilla. Sitä käytettiin laajalti ohjelmoinnissa ja tietokonedokumentaatiossa, mutta se korvattiin myöhemmin lähes kokonaan heksadesimaaliluvulla .

Oktaalijärjestelmää käytetään määritettäessä tiedosto- ja suoritusoikeuksia osallistujille Linux-järjestelmissä [ 1] [2] .

Oktaali-binäärimuunnostaulukko

0 8 = 000 2 1 8 = 001 2 2 8 = 010 2 3 8 = 011 2 4 8 = 100 2 5 8 = 101 2 6 8 = 110 2 7 8 = 111 2

Jos haluat muuntaa oktaaliluvun binääriluvuksi, sinun on korvattava oktaaliluvun jokainen numero binäärinumeroiden tripletillä. Esimerkki: 2541 8 = [ 2 8 | 5 8 | 4 8 | 1 8 ] = [ 010 2 | 101 2 | 100 2 | 001 2 ] = 010101100001 2 .

Käyttö luonnollisilla kielillä

Yuki [3] ja Pame [4] kielet käyttävät oktaalilukujärjestelmää.

Ohjelmointikielillä

Useilla ohjelmointikielillä , erityisesti C / C++ , Ada , Perl , Java ja Python (ennen versiota 3.0), on erityinen syntaksi (samanlainen kuin heksadesimaalivakioiden etuliite "0x") oktaalivakioiden kirjoittamiseen etuliitettä käyttäen nolla , esimerkiksi 0644 edustaa on kirjaimellinen vakio, jonka desimaaliarvo on 420 10 .

Tilastollisesti oktaalivakioiden käyttö C-ohjelmissa on erittäin vähäistä (noin 0,1 % kaikista literaalisista vakioista, lukuun ottamatta vakiota "0", teknisesti myös oktaali). Tällaiset vakiot säilyttävät tietyn suosion, kun kuvataan tiedostojen oikeuksia Unix/POSIX-tyylillä (0666, 0750) ja joissain tapauksissa, joissa käytetään bitimaskeja, jolloin ohjelmoijan on helpompi esittää bittiesitys. oktaalilukuja heksadesimaalilukujen tai erityisesti desimaalilukujen sijaan [5] .

Tällaiset numerojärjestelmän määrittelysäännöt eivät ehkä ole ilmeisiä ohjelmoijille ja voivat johtaa virheisiin. Joillakin kielillä on suosituksia olla käyttämättä tällaista merkintää [6] , toisilla kielillä tällainen oktaalivakioiden merkitseminen on kielletty (esimerkiksi Python versiosta 3 käyttää etuliitettä 0o [7] [8] ) tai on ei käytössä (esim . Rust ja D [7] ).

Jotkut BASIC-kielen versiot käyttävät &O-etuliitettä oktaalivakioiden kirjoittamiseen, kuten &O644. Tässä O ei ole nolla, vaan latinalaisten aakkosten kirjain , joka tarkoittaa englanninkielistä sanaa Octal (oktaali).

Lähteet

  1. Tiedostojen käyttöoikeudet GNU/Linux OS:ssä (numeerinen merkintä) (downlink) . Käyttöpäivä: 2. tammikuuta 2015. Arkistoitu alkuperäisestä 2. tammikuuta 2015. 
  2. Käyttöoikeudet . Käyttöpäivä: 2. tammikuuta 2015. Arkistoitu alkuperäisestä 2. tammikuuta 2015.
  3. Marcia Ascher. Etnomatematiikka: monikulttuurinen näkemys matemaattisista ideoista . College Mathematics Journal. Haettu 13. huhtikuuta 2007.
  4. Avelino, Heriberto. Pame-lukujärjestelmien typologia ja Mesoamerican rajat kielialueena (englanti)  // Linguistic Typology  : Journal. - 2006. - Voi. 10 , ei. 1 . - s. 41-60 . - doi : 10.1515/LINGTY.2006.002 .  
  5. 829 Oktaalivakio koostuu etuliitteestä 0 Arkistoitu 11. heinäkuuta 2018 Wayback Machinessa / The New C Standard: An Economic and Cultural Commentary (versio 1.2, 2009  )
  6. INT00-PL. Älä lisää alkunollia kokonaislukuliteraaleihin - SEI CERT Perl Coding Standard - Confluence . Haettu 2. lokakuuta 2018. Arkistoitu alkuperäisestä 3. lokakuuta 2018.
  7. 12 Florian Weber. Octal Zero pidetään haitallisena  ( 8. huhtikuuta 2018). Haettu 2. lokakuuta 2018. Arkistoitu alkuperäisestä 16. joulukuuta 2018.
  8. Numbers – konservatiivinen Python 3 Porting Guide 1.0 -dokumentaatio . Haettu 2. lokakuuta 2018. Arkistoitu alkuperäisestä 3. lokakuuta 2018.

Linkit