Oktalt talsystem

Talsystemer i kultur
indo-arabisk
arabisk
tamil
burmesisk
Khmer
Lao
Mongolsk
Thai
østasiatisk
kinesisk
japansk
Suzhou
koreansk
Vietnamesiske
tællestokke
Alfabetisk
Abjadia
Armensk
Aryabhata
kyrillisk
græsk
Georgisk
etiopisk
jødisk
Akshara Sankhya
Andet
Babylonsk
egyptisk
etruskisk
romersk
Donau
Attic
Kipu
Mayan
Aegean
KPPU-symboler
positionelle
2 , 3 , 4 , 5 , 6 , 8 , 10 , 12 , 16 , 20 , 60
Nega-positionel
symmetrisk
blandede systemer
Fibonacci
ikke-positionelle
Ental (unær)

Det oktale talsystem  er et positionelt heltalssystem med grundtallet 8 . Den bruger tal fra 0 til 7 til at repræsentere tal .

Det oktale system er mest almindeligt anvendt i områder relateret til digitale enheder. Det er kendetegnet ved let konvertering af oktale tal til binære og omvendt, ved at erstatte oktale tal med binære tripletter. Det blev meget brugt i programmering og computerdokumentation, men blev senere næsten fuldstændig erstattet af hexadecimal .

Det oktale system bruges ved indstilling af filtilladelser og udførelsestilladelser for deltagere på Linux-systemer [ 1] [2] .

Oktal til binær konverteringstabel

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

For at konvertere et oktalt tal til binært skal du erstatte hvert ciffer i det oktale tal med en triplet af binære cifre. For eksempel: 2541 8 = [ 2 8 | 5 8 | 4 8 | 1 8 ] = [ 010 2 | 101 2 | 100 2 | 001 2 ] = 010101100001 2 .

Brug på naturlige sprog

Yuki [3] og Pame [4] sprogene bruger det oktale talsystem.

I programmeringssprog

En række programmeringssprog , især C / C++ , Ada , Perl , Java og Python (før 3.0), har en speciel syntaks (svarende til brugen af ​​"0x"-præfikset for hexadecimale konstanter) til at skrive oktale konstanter ved hjælp af en ledende nul , for eksempel repræsenterer 0644 er en bogstavelig konstant med decimalværdien 420 10 .

Statistisk set er brugen af ​​oktale konstanter i C-programmer ekstremt lav (ca. 0,1% af alle bogstavelige konstanter, eksklusive konstanten "0", teknisk set også oktal). Sådanne konstanter bevarer en vis popularitet i tilfælde af at beskrive rettighederne til filer i Unix/POSIX-stilen (0666, 0750), og i nogle tilfælde ved arbejde med bitmasker, når det er lettere for en programmør at repræsentere bitrepræsentationen af oktale tal, snarere end hexadecimale eller især decimale [5] .

Sådanne regler for angivelse af nummersystemet er muligvis ikke indlysende for programmører og fører til fejl. På nogle sprog er der anbefalinger om ikke at bruge en sådan notation [6] , på andre sprog er en sådan notation af oktale konstanter forbudt (for eksempel bruger Python fra version 3 præfikset 0o [7] [8] ) eller er ikke brugt (f.eks . Rust og D [7] ).

Nogle versioner af BASIC-sproget bruger &O-præfikset til at skrive oktale konstanter, såsom &O644. Her er O ikke nul, men bogstavet i det latinske alfabet , der betegner det engelske ord Octal (oktal).

Kilder

  1. Filtilladelser i GNU/Linux OS (numerisk notation) (downlink) . Dato for adgang: 2. januar 2015. Arkiveret fra originalen 2. januar 2015. 
  2. Tilladelser . Dato for adgang: 2. januar 2015. Arkiveret fra originalen 2. januar 2015.
  3. Marcia Ascher. Etnomatematik: Et multikulturelt syn på matematiske ideer . The College Mathematics Journal. Hentet 13. april 2007.
  4. Avelino, Heriberto. Typologien af ​​Pame-talsystemer og grænserne for Mesoamerika som et sprogligt område (engelsk)  // Linguistic Typology  : journal. - 2006. - Bd. 10 , nej. 1 . - S. 41-60 . - doi : 10.1515/LINGTY.2006.002 .  
  5. 829 En oktal konstant består af præfikset 0 Arkiveret 11. juli 2018 på Wayback Machine / The New C Standard: An Economic and Cultural Commentary (version 1.2, 2009  )
  6. INT00-PL. Sæt ikke foranstillede nuller foran heltallige bogstaver - SEI CERT Perl Coding Standard - Confluence . Hentet 2. oktober 2018. Arkiveret fra originalen 3. oktober 2018.
  7. 12 Florian Weber. Octal Zero anses for at være skadelig  ( 8. april 2018). Hentet 2. oktober 2018. Arkiveret fra originalen 16. december 2018.
  8. Numbers - Conservative Python 3 Porting Guide 1.0 dokumentation . Hentet 2. oktober 2018. Arkiveret fra originalen 3. oktober 2018.

Links