« 1 2
Autor Zpráva
_es
Profil
Joker
K uložení tří různých stavů jsou potřeba dva bity.
Môžeš použiť dva, pokiaľ chceš nimi plytvať, no stačí na to presne (ln(3)/ln(2)) bitu, čiže približne 1,585 bitu.
SwimX
Profil
_es
1,585 bitu.
tak to nechápu. Do bitu dám buď 0 nebo 1 jak můžu mít půl bitu?
_es
Profil
SwimX
tak to nechápu. Do bitu dám buď 0 nebo 1 jak můžu mít půl bitu?

Ukážem to na príklade:
Potrebujem napríklad zaznamenávať jeden z 9 rôznych stavov. Čiže potrebujem ln(9)/ln(2) bit, čo je približne 3,17 bit.
Teda na to musím použiť pamäť s takou, alebo vyššou kapacitou.

Môžem použiť pamäť s presne takou kapacitou, teda 9 stavovú pamäť, alebo dve 3-stavové pamäte, ktoré mi v súčte dajú tiež ln(9)/ln(2) bit.
Môžem použiť binárnu pamäť s kapacitou 4 bit, vtedy mi zostane nevyužitých asi 0,83 bit.
Môžem použiť v súčte 2-stavovú pamäť a 5-stavovú pamäť, teda celkovo 1 + ln(5)/ln(2) = približne 3,322 bit, vtedy zostane nevyužitých asi 0,152 bit.
A pod.
Joker
Profil
_es
Kdepak.
Příklad: Mám auto, do kterého se vejdou kromě řidiče ještě 4 cestující. Potřebuju s ním z A do B kromě sebe přepravit šest lidí. Kolik cest z A do B budu muset udělat?
-> Nepojedu ani 1,4krát ani 1,5krát, ale dvakrát.

Mimochodem, kde jste vzal těch 1,58 bitu? Když jeden bit uloží 2 stavy, tak 1,58 bitu by bylo 3,16 stavu :-)

Bit prostě nelze rozdělit.
Ukážem to na príklade:
Potrebujem napríklad zaznamenávať jeden z 9 rôznych stavov. Čiže potrebujem ln(9)/ln(2) bit, čo je približne 3.17 bit.

Špatně. Na zaznamenání 9 různých stavů jsou potřeba 4 bity.

Z tohohle je dobře vidět, jaký je to nesmysl:
Môžem použiť binárnu pamäť s kapacitou 4 bit, vtedy mi zostane nevyužitých asi 0,83 bit.
Fajn. Řekněme, že těch 9 stavů budu kódovat takto: 0000, 0011, 1100, 1010, 0101, 1001, 0110, 0111, 1111
Ukažte mi tam těch 0,83 nevyužitého bitu. Bit má dvě hodnoty a obě hodnoty každého z těch čtyř bitů jsou nezbytné pro kódování stavů.
Navíc, co to znamená "0,83 bitu"? Jeden bit jsou dva stavy, takže 0,83 bitu by bylo 1,66 stavu? Ale těch nevyužitých stavů je 7 (konkrétně: 0001, 0010, 0100, 1000, 1110, 1101 a 1011)... jenže 7 stavů jsou zas tři bity (nebo teda řekněme "víc než dva")... takže je spíš nevyužitých 2,625 bitu? Takže můžu dva bity odebrat?

Ve skutečnosti se správně dá říct tohle: Na kódování 9 stavů se použijí 4 bity, přičemž 7 stavů zůstane nevyužitých.
Jelikož každý bit má právě dva stavy, nelze s pomocí bitů dát dohromady právě 9 možných stavů.
SwimX
Profil
Joker
[#4] todle chápu, to dělení bitu mi přijde dost divné.
_es
Môžem použiť pamäť s presne takou kapacitou, teda 9 stavovú pamäť, alebo dve 3-stavové pamäte, ktoré mi v súčte dajú tiež ln(9)/ln(2) bit.
jak se todle vyrábí? setiny bitů.. nebo třístavové paměty?
_es
Profil
Joker
Nepojedu ani 1,4krát ani 1,5krát, ale dvakrát.
To prirovnanie nesedí, ja nechcem 8stavovú ani 16stavovú pamäť, ale 9stavovú.

V skutočnosti nie som obmedzený len binárnou pamäťou, tá sa skladá len z dvojstavových prvkov, ale môžem použiť aj viacstavové prvky - aspoň teoreticky.
Takže neplatí obmedzenie, že musím použiť celé 4 bity, teda nejakú 16stavovú pamäť, vytvorenú napríklad zo 4 dvojstavových prvkov.
Môžem použiť nejakú 9 stavovú pamäť a o tej sa nedá povedať, že má kapacitu 4 bity, pretože do nej ide zaznamenať len 9 stavov, nie 16 a tiež sa o nej nedá povedať, že má len 3 bity, lebo dokáže zaznamenať viac ako 8 stavov.

Pamäť zložená z (2^n)stavových prvkov, pričom n je celé kladné číslo, má kapacitu v bitoch vyjadriteľnú celým číslom.
Iné typy pamäte majú kapacitu v bitoch vyjadriteľnú len necelým číslom.
Síce kapacita v bitoch je necelé číslo, no počet možných stavov pamäte je celé číslo.
Teda ide len o to, aby sa jednotka bit dala použiť aj na nebinárne pamäte, nie o nejaké ľubovolné počítanie s bitmi.
_es
Profil
SwimX
jak se todle vyrábí? setiny bitů.. nebo třístavové paměty?
Píšem to len teoreticky, no napríklad nejaký trojpolohový prepínač, napríklad motor na brúske vypnutý, menšia rýchlosť a vyššia rýchlosť má tú spomínanú pamäť (ln(3)/ln(2)) bit.

V elektronike je iná ako binárna pamäť myslím používaná veľmi málo.
No nie je vylúčené, že sa objaví nejaký princíp umožňujúci vyrábať napríklad prakticky použiteľné pamäte, zložené zo základných 3stavových prvkov a tam by sa ich kapacita musela rátať tak, ako som uviedol, aby to bolo porovnateľné s binárnou pamäťou.
bohyn
Profil
Flash pameti dokazi ulozit v jedne bunce 2-3 bity (NAND a NOR) - Clanek na rootu - ale ze by byla i tri-stavova (respektive licho-stavova) sem neslysel. Tezko pak taky mluvit o bitech.
_es
Profil
Aby ste si nemysleli, že vás tu oblbujem nejakými pofidérnymi výpočtami, tak tu to máte priamo v češtine: cs.wikipedia: Bit, posledná veta.
Upozorňujem, že som to tam nedal ja, asi sa o tom inde dá nájsť aj viac.
Joker
Profil
_es
To prirovnanie nesedí, ja nechcem 8stavovú ani 16stavovú pamäť, ale 9stavovú.
Jistě, v tom příkladě taky nepotřebuju odvézt čtyři lidi, ani osm lidí, ale šest lidí.
Přesto pojedu dvakrát, protože nic mezi jednou a dvakrát prostě není. Stejnětak můžu mít tři bity nebo čtyři, ale ne "tři celých něco" bitů.

To na Wiki ale vpodstatě říká to, co píšu já: Pokud použiju něco jiného než bity, převodní koeficient samozřejmě nemusí být celé číslo, třeba informační hodnota dekadické číslice odpovídá těm 3,32... bitů. Nicméně ten převod není n číslic = 3,32...*n bitů, ale: n číslic = (3,32...*n) zaokrouhleno nahoru bitů.

V elektronike je iná ako binárna pamäť myslím používaná veľmi málo.
Tak když bychom se začali vrtat v detailech, třeba buňka operační paměti má vpodstatě tři stavy: napětí v nějakém intervalu znamená nulu, napětí v jiném intervalu znamená jedničku... a všechna ostatní napětí nejsou "ani nula, ani jednička" :-)
To už je na mě teda moc odborné, ale teoreticky bych řekl, že by nemusel být problém, aby bylo více definovaných úrovní napětí a tedy více možných stavů.

Ale už jsme fakt nějak mimo téma :-)

Já jen zopakuju, že dvojková soustava je sice výhodná pro počítače, ale zato je nevhodná pro všechny ostatní... takže pokud u počítačů má kilobajt 1024 bajtů a všude jinde má kiloněco 1000 něčeho, tak by počítače asi měly ustoupit tomu "všemu ostatnímu".
_es
Profil
Joker
S tými prirovnaniami je problém asi v tom, že ty uvažuješ stále v tom obmedzení, že musíš použiť len binárnu pamäť.
Ja zasa tvrdím, že sa dá použiť aj iná diskrétna pamäť, iná ako binárna, síce sa taká pamäť používa veľmi málo, respektíve okrem nejakých výskumných projektov vlastne prakticky vôbec, no možné to je.

Teoreticky by nemusel byť problém zostrojiť trojstavovú pamäť, kde by bol napríklad prvý stav vybitý prvok, druhý stav prvok nabitý kladne, tretí stav prvok nabitý záporne.
A ak má byť bit základnou jednotkou informácie, ako tu niekto písal, tak by sa ním predsa mala dať vyjadriť aj kapacita takejto pamäte.

Ak niekde namontujem trebárs pamäť zloženú z desiatich 3stavových buniek a chcem nejak vyjadriť, akú má taká pamäť kapacitu, tak mi nezostáva nič iné, ako uznať, že jej kapacita, skutočná kapacita, nie len nejaký prevodný koeficient, je 10*(ln(3)/ln(2)) bitov, teda približne 15,85 bitov. Pretože ak ju porovnám s 15bitovou pamäťou, tak má vyššiu kapacitu, lebo dokáže zapísať viac stavov. A ak ju porovnám s 16bitovou pamäťou, tak má kapacitu menšiu, lebo nedokáže zapísať až toľko stavov. A keď ju chcem nahradiť nejakou inou len z hľadiska kapacity, tak tam miesto nej môžem dať 16 bitovú binárnu pamäť, alebo vo všeobecnosti hociakú inú pamäť s kapacitou minimálne 10*(ln(3)/ln(2)) bitov.

Teda vlastne kapacita n bitov znamená, že pamäť dokáže reprezentovať 2^n stavov.
A n vo všeobecnosti nemusí byť celé číslo, no musí byť také, aby počet stavov bol celé číslo.
Joker
Profil
_es
S tými prirovnaniami je problém asi v tom, že ty uvažuješ stále v tom obmedzení, že musíš použiť len binárnu pamäť.
No jasně, protože bit je základní jednotka dvojkové soustavy.

Říct, že něco má kapacitu 15,85 bitu je jako říct, že se tam dá uložit 4,8 dekadické číslice :-)
_es
Profil
Říct, že něco má kapacitu 15,85 bitu
Nie 15,85 bitu, ale približne 15,85 bitov, presne 10*(ln(3)/ln(2)) bitov, alebo iným spôsobom vyjadrená kapacita 59 049 možných stavov.
No skús pomocou počtu možných stavov vyjadriť kapacitu zloženú z 1 000 takýchto trojstavových jednotiek.
Falcon
Profil
Ešte by som vás poprosil koľko KB je 2 048 kbit
Timy
Profil
Falcon
Viděl si to osmi.
« 1 2

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0