Martin Pokorný - CRONAX

   ...přenechejte starosti profesionálům...
  • Kdo jsem
  • IT služby
  • Kontakty
  • Podpora
  • eNax
    Podpora
  • Vzdálený servis
  • Jednorázový servis
  • Servisní licence
  • Obecné návody
  • Postupy
Podpora
  • Vzdálený servis
  • Jednorázový servis
  • Servisní licence
  • Obecné návody
  • Postupy
Č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.


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)


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