Číselné soustavy v kultuře | |
---|---|
Indoarabština | |
Arabská tamilská barmština |
Khmer Lao Mongol Thai |
východní Asiat | |
Čínský Japonec Suzhou Korejský |
Vietnamské počítací tyčinky |
Abecední | |
Abjadia arménská Aryabhata azbuka Řek |
Gruzínský etiopský židovský Akshara Sankhya |
jiný | |
Babylonian Egyptian Etruscan Roman Danubian |
Attic Kipu Mayské Egejské KPPU Symboly |
poziční | |
2 , 3 , 4 , 5 , 6 , 8 , 10 , 12 , 16 , 20 , 60 | |
Nega-poziční | |
symetrický | |
smíšené systémy | |
Fibonacci | |
nepoziční | |
jednotné číslo (unární) |
Osmičková číselná soustava je poziční celočíselná číselná soustava se základem 8 . K reprezentaci čísel používá čísla od 0 do 7 .
Osmičková soustava se nejčastěji používá v oblastech souvisejících s digitálními zařízeními. Vyznačuje se snadným převodem osmičkových čísel na binární a naopak, nahrazením osmičkových čísel binárními trojicemi. Byl široce používán v programování a počítačové dokumentaci, ale později byl téměř zcela nahrazen hexadecimálním .
Osmičková soustava se používá při nastavování oprávnění k souborům a oprávnění k provádění pro účastníky na systémech Linux [ 1] [2] .
Chcete-li převést osmičkové číslo na binární, musíte nahradit každou číslici osmičkového čísla trojicí binárních číslic. Například: 2541 8 = [ 2 8 | 5 8 | 4 8 | 1 8 ] = [ 010 2 | 101 2 | 100 2 | 0012 ] = 0101011000012 .
Jazyky Yuki [3] a Pame [4] používají osmičkovou číselnou soustavu.
Řada programovacích jazyků , zejména C / C++ , Ada , Perl , Java a Python (před verzí 3.0), má speciální syntaxi (podobnou použití předpony „0x“ pro hexadecimální konstanty) pro zápis osmičkových konstant pomocí úvodních nula , například 0644 představuje doslovnou konstantu s desetinnou hodnotou 420 10 .
Statisticky je použití osmičkových konstant v programech C extrémně nízké (asi 0,1 % všech doslovných konstant, vyjma konstanty "0", technicky také osmičkové). Takové konstanty si zachovávají určitou oblibu v případě popisu práv k souborům ve stylu Unix/POSIX (0666, 0750) a v některých případech práce s bitovými maskami, kdy je pro programátora snazší reprezentovat bitovou reprezentaci osmičková čísla, spíše než hexadecimální nebo, zvláště, desítková [5] .
Taková pravidla pro specifikaci číselného systému nemusí být programátorům zřejmá a vést k chybám. V některých jazycích existují doporučení nepoužívat takový zápis [6] , v jiných je takový zápis osmičkových konstant zakázán (např. Python od verze 3 používá předponu 0o [7] [8] ) nebo je nepoužívá se (například Rust a D [7] ).
Některé verze jazyka BASIC používají k zápisu osmičkových konstant předponu &O, například &O644. Zde O není nula, ale písmeno latinské abecedy označující anglické slovo Octal (oktal).