Článek se seznamu: [ Obecné návody ] |
Značky a číslování v IT
V IT je několik specifik ve značení a počtech a mnoho uživatelů v tom má pochopitelně zmatek.Všechno vychází z toho, že my, lidé, počítáme v desítkové soustavě (číslice 0-9), zatímco počítače znají jen 0 a 1. Takže místo řady 0,1,2,..8,9,10,11,.. mají počítače řadu 0,1,10,11,100,101,110,111,... a všechno se tak odvíjí nikoli od mocnin 10, ale od mocnin 2.
Proto se tímto článečkem pokusím vysvětlit nejčastější věci, na které se uživatelé ptají či si je pletou:
1) Proč jsou v číslech písmena
V úvodu jsem zmínil, že počítače znají jen 0 a 1. Zápis větších čísel by tak byl nejen velmi dlouhý, ale i určitě s dost chybami...
Proto se v IT používá některá z vyšších soustav - osmičková, ale převažuje šestnáctková soustava (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11), která, jak vidíte, obsahuje písmena. Všimněte si, že soustava je vždy také mocninou dvou: 8 = 2^3, 16 = 2^4
Když číslo obsahuje písmena, pak je jasné, že jde o hexadecimální číslo. Ale pokud písmeno neobsahuje, je potřeba nějak označit, že jde o šestnáctkovou soustavu (bez označení = desítková). Zápisy čísel v šestnáctkové soustavě jsou zažité ve dvou formátech, třetí je spíše vyjímečný a mimo programovací jazyky se s ním asi nepotkáte.
a) 0x1234
b) 1234h
c) $1234
Všechny zápisy vyjadřují hexadecimální číslo 1234, což je decimálně 4660, binárně 0001001000110100
Zmíněná osmičková (octalová) soustava (0,1,2,3,4,5,6,7,10,11,12,..17,20,..) se používá spíše vyjímečně - obykle tam, kde se šetří každým bitem (max. hodnota 7 je totiž na 3 bity). Neznámnějším použitím je definice práv v linuxu (read/write/execute, každé právo = 1bit, celkem 3 bity = ideální pro použití osmičkové soustavy)
2) Proč kilo není tisíc
Všichni máme zažité, že předpona "kilo" udává tisíc, "mega" je milion. To však v IT není úplně přesné.
Protože, jak jsem zmínil, počítače pracují interně ve dvojkové soustavě, předpona "kilo" není 1000, ale 1024 = 2^10 (dvě na desátou). Mega tak není 1000x1000, ale 1024x1024 = 1048576 a "giga" pak 1 073 741 824
Zmatek do toho vnesli výrobci disků. Čert ví proč, ale od prvopočátků počítají předpony "klasicky", tj. v desítkové soustavě a "mega" je tak 1000x1000 a giga je 1000x1000x1000. Operační systém (windows) Vám pak však kapacitu ukáže v gigabytech tak, jak je v IT "giga" počítána standardně... Když si koupíte disk 500GB, má 500x1000x1000x1000 bytů = 465 x 1024 x 1024 x 1024 bytů => windows ukáží kapacitu 465GB a mnoho uživatelů se pak ptá, kam zmizelo těch 35GB.... ztraceno v překladu číselných soustav :-)
3) bit, byt, byte
bit je základní početní jednotka a může mít hodnotu jen 0 nebo 1. Můžete si to představit jako číselnou reprezentaci stavů svítí/nesvítí.
byt není ve světě IT nic. Jde jen o podobnost českého slova s anglickými výrazy používanými v IT
byte je 8 bitů a nabývá hodnot 0-255 (; množství bitů v bytu opět určuje dvojková soustava, 8 = 2^3
Vyšší čísla, než 255, jsou reprezentovány více byty, vždy v mocninách dvou. 2 byty (integer), 4 byty (longint), 8 bytů (int64), atd.
Ještě můžete, vyjímečně, narazit na výraz Boud (značka Bd) - a to v souvislosti s rychlostí COM portů, typicky se používalo u modemů, dnes už jen při ovládání např. různých měřáků, tel.ústředen atd. Rychlost v boudech určuje počet stavových změn za jednu sekundu. Zjednodušeně je to stejné jako bit, ale není to zcela přesné, nemá však smysl zacházet do detailů např. řídících signálů.
4) Značení rychlosti - MB, Mbit, kb atd.
Že "kilo" není tisíc a "mega" milion, to jsme si už vysvětlili. Nyní se podíváme za značení
Giga a Mega mají značky M a G. Snad nikdy jsem je neviděl použité s malým písmenem...
K, nebo také "k" určuje "kilo". Velikost písmene K nemá význam, nezáleží na něm. Různá velikost je používaná spíš z vizuálních důvodů (KB, kb, kBit, kbit)
Zásadní je však velikost písmene B
- B = byte, tedy 8 bitů
- b = bit, tedy 1/8 bytu
Pokud použijete celé slovo (byte/bit), tak samozřejmě na velikosti B nezáleží, ale ve zkratce, tj. pouhé písmeno, na velikost záleží velmi.
Pomůcka pro zapamatování: malé b = malá jednotka = bit, velké B = větší jednotka = více bitů = byte.
- 1 KB / 1 kB = kilobyte = 1024 bytů = 8 * 1024 bitů
- 1 Kb / 1 kb = kilobit = 1024 bitů = 1024 /8 bytů = 128 bytů
- 1 KBit / 1 kbit = kilobit = 1024 bitů = 1024 /8 bytů = 128 bytů
....mega je analogické, jen x1024, giga x1024x1024...
....při kontrole rychlosti internetu opět nastupují číselné zmatky:
a) poskytovatel internetu udává rychlost v bitech, resp. kilo-bitech či mega-bitech, stejně jako všechny nástroje měřící rychlost
b) kopírování souborů obvykle udává, kolik bytů za sekundu se přenáší. Velikost dat ukazuje v bytech, proto i rychlost v bytech/s
Takže když chcete porovnat rychlost kopie vůči rychlosti internetu, musíte počítat....
Je to jako když Vám auto ukazuje rychlost v km/h a radar na začátku obce na by Vám ukázal rycholost v m/s....
Když Vám windows ukazují rychlost kopie 200 kB/s (nebo 200KB/s), pak:
200 * 8 = 1 600 kb/s (nebo 1 600 kbit) = 1600/1024 Mbit = 1.56Mbit. Když máte od poskytovatele linku 2Mbit, pak je tato rychlost v toleranci (něco z rychlosti spoklne režie přenosu)
Ještě zmíním značku Bd = boud, což je jednotka rychlosti asynchronní komunikace (dnes se používá jen velmi vyjímečně).
Proto pozor, pokud by náhodou za velkým B bylo ještě malé d...
Rychlost v boudech má pevné velikosti, předpona "kilo" se nepoužívá, nenarazíte tak na značku kBd. Nejčastěji používané hodnoty jsou: 115200, 57600, 38400, 19200, 9600, 4800, 2400. Kdo pamatuje modemy, asi si vzpomene na např. 57600 Bd...
Dnes se to v podstatě nepoužívá, krom vyjímek ovládání nějakých zařízení, např. různých měřáků, starších tel.ústředen, atd.
5) Limity 2GB / 4 GB
Nejčastěji se můžete setkat s tím, že na flashku nelze uložit soubor větší než 4 GB a v některých jiných případech můžete narazit dokonce na limit 2 GB
Příčinou je, že nejpoužívanějším číselným "rozměrem" jsou = 4 byty = 32 bitů = rozsah 0 - 4294967295 (= 2^32), což jsou 4 GB.
A protože lze první bit zleva považovat za znaméno, druhou interpretací rozsahu je -2147483648 až 2147483647, tedy -2GB až 2GB
Někdy se tak můžete setkat s tím, že třeba průběh kopie skočí do záporných hodnot... Kde nejvrchnější bit označuje znaménko, tam 2147483647 + 1 = -2147483648. Zkuste si stáhnout třeba starší TotalCommander a zazipovat dva 4GB soubory a uvidíte....
A proč někdy nelze uložit soubor větší než 4GB ?
O organizaci souborů na disku se stará tzv. souborový systém (File System). Nechci zabředávat do detailů a historie (kdo chce, wiki vysvětlí), ale pár drobností je nutných:
a) Microsoft od počátků používá souborový systém FAT (File Allocation Table). Nejpoužívanější je FAT32 z roku 1997 (nejčastěji jsou na něj z výroby zfromátovány flashky) a kvůli 32-bitové struktuře má výše popsaný limit 4GB/soubor
b) Už roku 1993 Microsoft s IBM udělal pro své WindowsNT (a IBM pro OS/2) souborový systém NTFS (NT File System), který má limity řádově výše a do Windows XP je používán jako hlavní.
Asi se ptáte, proč se tedy stále používá FAT32 s limitem 4GB souborů a nepoužívá se jen NTFS. Správná otázka!
Důvod je tento: FAT je jednak jednoduchý, ale hlavně z historických důvodů licenčně volný a do detailu zdokumentovaný. NTFS je oproti tomu "uzavřený", detailní dokumentaci Microsoft neuvolnil a zařízení, které chce NTFS číst, by mělo Microsoftu zaplatit licenční poplatek. Podpora NTFS je bez (licenční) účasti Microsoftu sice je, v Linuxu existují projekty umožňující i zápis, ale není to ofic a mnohde uvádějí (pro jistotu), že zápis na NTFS je bez záruky poškození dat.
Tím pádem např. některé přehrávače neumí číst NTFS a musíte si připojenou flashku zformátovat na FAT32
... a proto tady FAT32 stále je a ještě hodně dlouho bude.
Od roku 2007 Microsoft uvedl exFAT defacto bez limitu (max. 2^64), používá se na SDXC kartách v kamerách a pod., v PC k většímu rozšíření (zatím) nedošlo, neb na PC k tomu není důvod. A výrobci přehrávačů, settopboxů a podobných zařízení jsou ve vývoji poněkud zkostnatělí, takže jsem u nich masivnější podporu exFAT moc nezaznamenal.... To už spíš zaplatili poplatek Microsoftu a používají NTFS; málokterý settobox však umí na NTFS i nahrávat (viz výše), ale jsou i takové....
Copyright © Martin Pokorný 2016 - All Rights Reserved