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] .
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 .
Yuki [3] og Pame [4] sprogene bruger det oktale talsystem.
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).