Názory ke článku Číselné soustavy – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Názory ke článku Číselné soustavy – Programujte.comNázory ke článku Číselné soustavy – Programujte.com

 

Názory ke článku Číselné soustavy

agon   NOVÝ
1. 11. 2007

je to asi měsíc co jsme se to učili ve škole a učili nás to taky uplně jinak, a vychází to stejně :-D (pochopitelně) ale toto se mi zdá jednodušší, budu to muset ukázat profesorovi.

Nefaritus, autor článku   NOVÝ
1. 11. 2007

agon píše:

je to asi měsíc co jsme se to učili ve škole a učili nás to taky uplně jinak, a vychází to stejně :-D (pochopitelně) ale toto se mi zdá jednodušší, budu to muset ukázat profesorovi.


Tuším, že mluvíš o dvojkový soustavě...nás to ve škole taky učili tak nějak složitě, ale tohle asi, pravda, jednodušší ;o)

Santas   NOVÝ
1. 11. 2007

To Nefaritus: ja to viem takto napr. pri cisle 173:
1 2 4 8 16 32 64 128
1 0 1 1 0 1 0 1

1+4+8+32+128 = 173
pri mensich cislach to je dostatocne rychle :)

ian   NOVÝ
1. 11. 2007

pokud se nemýlím, tak binární číslo 1101101 není 91, nýbž 109, protože číslice, čím je víc vlevo, tím má vyšší hodnotu: 1*64 + 1*32 + 0*16 + 1*8 +1*4+ 0*2 + 1*1 = 109, pokud si to prevedes do hexa, tak prvni ctyri cislice (0110) jsou v hexa 6 a druhe ctyri (1101) jsou D, tedy 0x6D a to je 6*16 + 13*1 = 109

insider   NOVÝ
1. 11. 2007

ovšem 8 se vejde do 18 dvakrát, tudíž 3. číslice bude 3 a po odečtení nám zbude 2
...
Výsledkem je tedy, že decimální číslo 594 je číslem 1 122 v oktalové soustavě.



8 se do 18 vejde dvakrat, tudiz 3. cislice bude 2 :) ve vysledku uz je to vsak spravne

mala otazecka:
proc dvojkouvou soustavu ukazujes delenim a ostatni mocninama? ma to byt jako prezentace obou zpusobu? V tom pripade bych se zminil, ze mocniny lze pouzit i na dvojkovou soustavu(po osvojeni si uvodnich mocnin do dejme tomu 256 je to mnoho nasobne rychlejsi) a rovnez, ze deleni lze pouzit i na ostatni soustavy, akorat se meni cislo, kterym se deli podle soustavy a zapisuje se vzdy odspoda/odzadu...

dale bych mozna clanek doplnil o prevod desetinych cisel

Nefaritus, autor článku   NOVÝ
1. 11. 2007

To insider: Jo jo...chtěl jsem ukázat to dělení alespoň na jednom příkladu a za ty chyby se omlouvám a napravím...

geon   NOVÝ
1. 11. 2007

Já bych jen doplnil, pro absolutní začátečníky:

Pro člověka je přirozené počítat do deseti, protože má deset prstů. Matematici s oblibou říkají, že počítáme v desítkové soustavě. To znamená, že používám celkem deset cifer, od 0-9. Pokud dopočítáme k devítce, musíme si nějak vypomoci. A to uděláme tak, že že vezmeme jedničku a za ní dáme nulu, vznikne tedy číslo 10, které čteme jako deset.

A ted si představte ufony, co mají jen jednu ruku a na ni jeden prsty. Pro ně bude přirozené počítat ve dvojkkové soustavě. Tedy 2 cifry: 0 a 1. Pokud dopočítáme k jedničce, tedy nula - jedna, , musíme si nějak vypomoci. A to uděláme tak, že že vezmeme jedničku a za ní dáme nulu, vznikne tedy číslo 10, které čteme však jako jedna-nula, a vůbec to neznamená deset, ale v naší soustavě to zcela jasně odpovídá číslu 2. Pak následuje číslo 11, pak 100 (což připomínám rozhodně není našich sto, i když tak vypadá). A tak dál a dál.

Z historických a technických důvodů se ukázalo že bude výhodnější, když bude počítač nebo kalkulačka, mít jen jeden prst. Tedy že je lepší, aby si číslo 9 pamatovalo raději jako 1001, apod. Všechny výpočty uvnitře PC pak probíhají plně ve dvojkové soustavě - muselo se vymyslet, jak např. mezi sebou násobit, sečíst, odečíst dvě dvojková čísla, protože to se zřejmě dlá uplně jinak než jsme se učili ve 3 tříde. Potom různé převody z destítkové, mocniny, desetinná čísla, apod.

Jednička a nula se totiž velmi jednoduše technicky vyrábí. Jednička = napětí mezi dvěma body je, nula = mezi dvěma body není napětí žádné. Jak prosté ;-)

U ufonů s osmi či šestnácti prsty je to podobně. Matematika třeba v třináctkové soustavě je snad zábavná, alespon pro mne kdysi byla, ale asi nemá moc praktické uplatnění. K rozšiřování myšlenkových obzorů to je však super. Člověk se povznese nad obyčejnou destíkouvou soustavy, a přestane ji vnímat jako neměnou.

Tak snad to někomu pomůže.

Nefaritus, autor článku   NOVÝ
1. 11. 2007

To geon: Kdyby to nejaky korektor zkontoloval po gramatické stránce, rád bych to doplnil do článku (pod tvým jménem), aby to bylo víc na očích...co ty na to?

mr.Crow   NOVÝ
1. 11. 2007

To Nefaritus: ještě bych k tomuto doplnil, že šestnáctková soustava se v oblasti počítačů (adresování paměti...) používá nejspíše proto, že převod dvojková -> šestnáctková je Celkem jednoduchý a šestnáctka je mocnina dvojky, což s sebou nese také jisté výhody při přepočítávání.

z BIN do HEX se počítá tak, že si bin.číslice rozdělíme do čtveřic a z každé číslice výjde přesně jedna číslice hexadecimální.

1111100001101010000000 -> 0011 1110 0001 1010 1000 0000

0011 = 3
1110 = 14 = E
0001 = 1
1010 = 10 = A
1000 = 8
0000 = 0

binární 1111100001101010000000 = hexadecimální 3E1A80

opačně to funguje stejně, každá číslice hexadecimální odpovídá čtyřem jedničkám a nulám.

mr.Crow   NOVÝ
1. 11. 2007

...rozdělíme do čtveřic a z každé čtveřice výjde přesně jedna číslice hexadecimální. ...

geon   NOVÝ
1. 11. 2007

To Nefaritus: jo, klidně.

Frosty   NOVÝ
1. 11. 2007

To geon: Už jsem mu opravenou verzi poslal mailem.

survik1   NOVÝ
2. 11. 2007

A jak pracovat v těchto soustavách s písmeny?

geon   NOVÝ
2. 11. 2007

To survik1: Písmena se nepřevádí na dvojkovou soustavu nějakými matematickými opracemi , ale tzv. převodními tabulkami. Jedné z nich se říká ASCII tabulka ;-) Třeba pímen A je číslo 97 v desítkové s., ve dvojkové 1100001.

survik1   NOVÝ
2. 11. 2007

To geon: No jo, ale jak pak poznám, jedná-li se o číslo nebo o písmeno?

geon   NOVÝ
2. 11. 2007

To survik1: No jak to poznáš ty to nevím, ale komp to pozná zcela bezpečně. Ale jaké jsou přesné algoritmy, to nevím. MOžná prosté: bud program jednoduše očekává číslo, a pak s ním nakládá jako s číslem, nebo očekává písmeno, a pak s ním nakládá úplně jinak.

ian   NOVÝ
2. 11. 2007

survik1 píše:

No jo, ale jak pak poznám, jedná-li se o číslo nebo o písmeno?


existuje totiž taková věc, která se jmenuje datové typy, pokud deklaruješ proměnnou jako int (integer), počítač si ji vysvetlí jako celé číslo, pokud deklaruješ char (character) bude chápána jako znak (písmno), pak existují další typy jako float a double pro práci s desetinnou čárkou

survik1   NOVÝ
2. 11. 2007

To ian: Takže když budu chtít jen-tak někam napsat větu ve dvojkový, tak mám napsat char 101 (etc.)?
Jinak, datové typy znám, ale díky za připomenutí ;)

ian   NOVÝ
2. 11. 2007

survik1 píše:

To ian: Takže když budu chtít jen-tak někam napsat větu ve dvojkový, tak mám napsat char 101 (etc.)?
Jinak, datové typy znám, ale díky za připomenutí ;)


moc to nechápu, co znamená napsat jen tak někam? jaký máš důvod psát binárně věty?

djanosik   NOVÝ
3. 11. 2007

To survik1: Pokud do toho zamícháš ještě ASCII znaky, tak to bude trochu jinak ... vždycky se budou převádět jednotlivý znaky. To znamená, že znak a (CHAR 97) bude správně převeden do binární soustavy jako 01100001, ale samotné číslo 97 se rozdělí na číslice 9 a 7, každá je pak převedena zvlášť a celé číslo po převodu bude 00111001 00110111.

Asi pro demonstraci napíšu jednoduchej prográmek, kterej bude převádět čísla i všechny ASCII znaky do binární soustavy a zpět.

djanosik   NOVÝ
3. 11. 2007
Curo   NOVÝ
3. 11. 2007

To Curo: sfsdfdsfdsfds

geon   NOVÝ
3. 11. 2007

To DeaLer: JSi si jistý, že číslo 97 se převádní do binární soustavy v pc po každé cifře zvlášť? Já bych řekl, že ne, že, že normálně: 97 = 1100001.

geon   NOVÝ
3. 11. 2007

To DeaLer: jaj, ted mě napadlo, že jsi asi nemyslel číslo 97, ale řetězec "97" - pak je to ok. Mate to názvosloví - když říkáš "číslo" místo "řetězec, text", "číslice" místo "znak".

djanosik   NOVÝ
3. 11. 2007

To geon: Pravda, nemělo by to být číslo/číslice, ale řetězec/znak, protože každý znak v řetězci má svou číselnou hodnotu (podle ASCII) a ta se pak převádí na binární. Tedy a (CHAR 97 = 01100001), 9 (CHAR 57 = 00111001) a 7 (CHAR 55 = 00110111). Sorry za nepřesnost.

BIOStheZerg   NOVÝ
4. 11. 2007

Neni náááhodou B(hex) = 11(dec) ??? takze ta dvanactka by mela bejt ve vysledku jako C!

don_Dominique   NOVÝ
5. 11. 2007

To survik1: No ještě sem neviděl že by si někdo jen tak do paměti napsal binárně řetězec ale pokud je to ve zdrojovém kódu tak se o to musí postarat kompilátor. Jak přesně to nevím. :smile11:

petr   NOVÝ
27. 11. 2007

Ja tu dvojkovou soustavu nepochopil nák protože když furt budeme dělit dvěma tak se dostanem do 0.něco a furt vic desetinejch mist

geon   NOVÝ
28. 11. 2007

To petr: i kdyby to tak bylo, tak je to jedno, protože 8.0000 = 8.0 ;-) Ale ono to tak není, protože zbytky (tedy jedničky a nuly) se sepisují odzadu dopředu, takže ty nuly se nakonec nepřidávají za číslo, ale před číslo (tedy zleva). A je to stejně jedno, protože 0008 = 08 = 8.

Napiš si zleva kolik chceš nul, furt je to stejné číslo. Takže můžeš nakonec nulu dělit dvojkou kolikrát chceš, číslo se již nezmění. Milion nul je furt nula, i když se říká, milionkrát nic umořilo i osla, nebo tak nějak ;-)

w3m   NOVÝ
1. 3. 2008

Doplnil bych takovou blbůstku: když v desítkové soustavě násobíme číslo deseti, přidáme nulu. A myslím, že to ve všech soustavách funguje stejně: když ve dvojkové soustavě číslo násobím dvěma, tak taky stačí přidat nulu :) Snad to někomu pomůže..

Schmutzka   NOVÝ
2. 11. 2008

000.111 => 2^(-1) + 2^(-2) + 2^(-3) => 1/2 + 1/4 + 1/8 => 0,5 + 0,25 + 0,125 = 0,875

(special thx to Marten Broadcloak)

Arlena   NOVÝ
2. 11. 2008

Nás to ve škole učili stejně,...dlouho dobu mi, ale vrtalo hlavou když chci z binární číslo převést do decimálního proč to musím počítat vlastně zprava do leva ...učitelka nám totiž nezdělila...nebo spíš můj mozek jak si nepochytil, že kdybych to chtěla počítat zleva do prava musela bych si uvědomit, že číslo nalevo je nejvyšší...>.<...stejěn je pro mě ale vyhodnější když to počítám zprava do leva, ptž začínám vlastně od 2^0 ...

Panther   NOVÝ
25. 4. 2009

Nejsem si jistý jestli je to chyba, ale jak převádíš z désitkový soustavy do šestnáctkový, tak jak tam umocňuješ tu 16ku a dělíš to číslo mocninama 16ky, tak to vychází, ale když takhle chceš převést číslo, kde v šestnáctkový soustavě je někde 0, např. zkuste číslo 7947 převést z desítkový do šestnáctkový, vyjde to 1FB, ale ono to má vyjít 1F0B, 1FB je 507...

7947/4096 je 1 a 7947-4096=3851
3851/256 je 15 (F) a 3851-15*256=11
11=B, takže by to číslo mělo být 1FB, ta nula tam prostě chybí...

Buckyx   NOVÝ
2. 1. 2010

Reagoval na komentář od uživatele Panther :
me to v pohode vychazi 1F0B
udelal sem si na to i program... v pascalu ale opacne mi to nejak nejde
kdyby nekdo vedel jak na prevod cisel z Nejake soustavy do destikove tak pls napiste aspon jak na to

Loli   NOVÝ
30. 10. 2010

Takhle jednoduše to převádí program
http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/

Badal   NOVÝ
24. 11. 2010

To Panther :
Protože tu 11 jsi zapoměl dělit 16 :


7947/4096 je 1(1) a 7947-4096=3851

3851/256 je 15 (F) a 3851-15*256=11

11/256 je 0 (0) a 11-0*16=11

11/1 = 11 (B) a 11-11*1=0

Badal   NOVÝ
24. 11. 2010

To Panther :
Protože tu 11 jsi zapoměl dělit 16 :


7947/4096 je 1(1) a 7947-4096=3851

3851/256 je 15 (F) a 3851-15*256=11

11/16 je 0 (0) a 11-0*16=11

11/1 = 11 (B) a 11-11*1=0

Badal   NOVÝ
24. 11. 2010

V mém komentáři z 24. 11. 2010 23:24 je chyba, prosím smazat. Děkuji.

Tom   NOVÝ
20. 1. 2014

Tohleto jsem nikdy nechápal, proč sakra desítková soustava podle toho, že máme deset prstů? Chci říct, proč ignorujeme poslední desátý prst?

Desítková soustava = 0 až 9

Ale když chci na rukou ukázat nulu, neukážu přece žádný prst! Potom postupujeme standardně od jednoho prstu pro znak "1" až po devět prstů pro znak "9"...a když použiju všech deset prstů??? Podle téhle logiky by tam měl být ještě jeden znak pro všech deset prstů! :-)

Může mi to někdo vysvětlit? Nebo je jediný argument, že v té LOGICKÉ matematice, je to prostě takhle nelogicky už zavedeno, a tak se to prostě používá. Dost chabý argument.

Přidej svůj názor

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo e-mailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Reaguješ na příspěvek:
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové názory e-mailem (pouze pro přihlášené)
Sleduj názory ke článku a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.



Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý