Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 23. 5. 2006, 17:45:38
preco mi 10/3 vrati 3.33333333333 ? chcem aby mi to vratilo pekne 3.. alebo 12/10 by v c bolo predsa 1... ako urobit aby mi vratilo len integer cisla?
|
||
Martin Profil |
#2 · Zasláno: 23. 5. 2006, 17:51:09
zadej do googlu celočíselné dělení, uvidíš, že to najdeš
|
||
Casero Profil |
#3 · Zasláno: 23. 5. 2006, 18:12:43
a nestčí ti zaokrouhlení???... round(10/3)
|
||
Retal Profil |
#4 · Zasláno: 23. 5. 2006, 18:14:31
No propána, to by svět vypadal, kdyby programovací jazyky automaticky vracely 10/3 = 3. Jak píše Casero - zaokrouhli si to přece sám :)
|
||
Tomik Profil |
#5 · Zasláno: 23. 5. 2006, 18:26:54
round(10/3);
Operátor "%" vrací zbytek po dělení. |
||
Tomik Profil |
#6 · Zasláno: 23. 5. 2006, 18:27:32
Retal a Casero
Grr.. zase pozdě... :) |
||
thingwath Profil |
#7 · Zasláno: 23. 5. 2006, 18:29:46
Retal
Tak by to mělo být :-) Nebýt automatické PHP konverze sem a tam mezi bůhvíčím :-) |
||
Anonymní Profil * |
#8 · Zasláno: 23. 5. 2006, 18:44:15
aha, uz viem preco mi to zo SetType() neislo - najprv som napisal SetType($premenna, "integer"); a potom $premenna = 10 / 3; .. kes som to vymenil, uz mi to islo.. dik ;)
akosi som to napisal do ineho prispevku.. LOL Casero round(10/3) ?? a co round(9/10) ?? to mi vrati 1 ?! preboha.. Retal thingwath ma pravdu, ved ked chcem float napisem 10.00/3.00 , inak staci 10/3... |
||
Anonymní Profil * |
#9 · Zasláno: 23. 5. 2006, 18:48:44
Retal
No propána, to by svět vypadal, kdyby programovací jazyky automaticky vracely 10/3 = 3 no c++ vracia 10/3 = 3 a to ho pouziva zrejem viac ludi ako php |
||
DoubleThink Profil * |
#10 · Zasláno: 23. 5. 2006, 18:57:46
no c++ vracia 10/3 = 3 a to ho pouziva zrejem viac ludi ako php
Nemíchejme hrušky a jablka. Céčko opravdu vrátí 10/3 = 3, pokud jsou vstupní a výstupní hodnoty typu integer. Céčko totiž není tak splachovací jako PHP - nemění za chodu datové typy - proto je taky výrazně výkonější a méně náročné na HW prostředky. |
||
mig Profil * |
#11 · Zasláno: 23. 5. 2006, 19:02:24
Céčko totiž není tak splachovací jako PHP - nemění za chodu datové typy - proto je taky výrazně výkonější a méně náročné na HW prostředky.
Ale to snad ne. Já vždycky myslel že je to tím, že Céčkové programy jsou kompilované, PHP skripty jsou interpretované.... |
||
Casero Profil |
#12 · Zasláno: 23. 5. 2006, 19:07:17
round(10/3) ?? a co round(9/10) ?? to mi vrati 1 ?! preboha..
c++ by ti vrátilo nulu??...hmm |
||
mig Profil * |
#13 · Zasláno: 23. 5. 2006, 19:15:20
c++ by ti vrátilo nulu??...hmm
A co se divíš! Tak je to u všech porgramovacích jazyků se silnou typovou kontrolou. Takový výsledek je dokonce žádoucí. Většinou tě totiž zajímá nejen výsledek celočíselného dělení, ale i zbytek (modulo). Umožňuje to napřiklad převádět časové údaje z vteřin na minuty, hodiny, dny týdny..... |
||
thingwath Profil |
#14 · Zasláno: 23. 5. 2006, 19:23:22 · Upravil/a: thingwath
mig
I pro C existuje interpet :-) |
||
DoubleThink Profil * |
#15 · Zasláno: 23. 5. 2006, 19:24:58
Já vždycky myslel že je to tím, že Céčkové programy jsou kompilované, PHP skripty jsou interpretované....
Netvrdím opak Interpret s kompilerem moc porovnávat nejde to je pravda, ale můžeš porovnat Céčko třeba s Basicem nebo Pascalem. |
||
mig Profil * |
#16 · Zasláno: 23. 5. 2006, 19:38:28
ale můžeš porovnat Céčko třeba s Basicem nebo Pascalem
Ono budeš mít rozdíl i mezi programy v céčku+MFC , nebo v céčku s čistým WinAPI. A to jak v rychlosti, tak velikosti (celkem s přilinkovanýma knihovnama). Podstatnej rozdíl mezi PHP a céčkem je, že céčkový program se při spuštění nepřekládá (neinterpretuje), což u PHP skriptů neplatí. |
||
thingwath Profil |
#17 · Zasláno: 23. 5. 2006, 19:41:52
mig
Čisté WinAPI, to je hezké slovní spojení :-) Myslím ale, že DoubleThink tím chtěl říct, že porovnání smysluplné je, protože jde o jazyk a ne o konkrétní implementaci (i když PHP je víceméně určeno jenom tou jednou implementací, pro C existuje standard). Ježto C může být interpretované (a také takový interpret existuje) a teoreticky není jediný důvod, proč by PHP skripty nešlo kompilovat tak jako programy v C. |
||
twain Profil * |
#18 · Zasláno: 23. 5. 2006, 20:22:33
thingwath
Čisté WinAPI, to je hezké slovní spojení :-) Myslím ale, že DoubleThink tím chtěl říct, že porovnání smysluplné je, protože jde o jazyk a ne o konkrétní implementaci (i když PHP je víceméně určeno jenom tou jednou implementací, pro C existuje standard). Ježto C může být interpretované (a také takový interpret existuje) a teoreticky není jediný důvod, proč by PHP skripty nešlo kompilovat tak jako programy v C. - zkus si na google vyhledat spojení čisté winapi čisté C - budeš překvapen - jsou to poměrně běžná spojení - porovnávat PHP a C lze, ale vždy z toho C vyjde lépe než PHP - rozhodně bych se neodvažoval tvrdit, že C je rychlejší protože nemění za chodu datové typy. C programu počítač rozumí a nemusí mu ho nikdo předžvýkat při každém spuštění - proto je rychlejší. - interpretované C ve smyslu při každém spuštění probíhá překlad je blbost a neexistuje pro to rozumný důvod (ale v C programuju teprve 10 let ;-)) - ano PHP skripty je možné kompilovat, výsledek jsem měl možnost vidět a je to hodně velká nouzovka. |
||
thingwath Profil |
#19 · Zasláno: 23. 5. 2006, 20:27:51
http://root.cern.ch/root/Cint.html
C programu počítač nerozumí. Nerozumí ani PHP programu. Rozumí zkompilovanému binárnímu kódu, který je jako takový (zdůrazňuji jako takový) stejný ať už pochází z C, Pascalu nebo třeba i toho PHP. |
||
-error414 Profil * |
#20 · Zasláno: 24. 5. 2006, 07:04:54
PHP jde opravdu kompilovat, uz sem ten odkaz sem jednou daval tak pokud to vadi tak ho smazte http://www.error414.com/clanek_233.html
|
||
mig Profil * |
#21 · Zasláno: 24. 5. 2006, 07:50:02
C programu počítač nerozumí. Nerozumí ani PHP programu. Rozumí zkompilovanému binárnímu kódu, který je jako takový (zdůrazňuji jako takový) stejný ať už pochází z C, Pascalu nebo třeba i toho PHP.
Ale jistě, všichni zjednodušujeme. Počítač (procesor) rozumí programu (binárnímu kódu), člověk rozumí tomu co napíše (zdrojovému kódu). Aby to počítač správně pochopil potřebuje překladač. Každý překladač lze chápat jako interpret. Ale snad si rozumíme. Kompilátor přeloží zdroják pouze jednou a je na tom podobně jako překladatel knih. Obecně všechny skripty jsou při spuštění opakovaně překládány, což lze přirovnat k tlumočníkovi řeči. Je rychlejší a efektivnější si přečíst knihu v češtině, než si najmout tlumočníka, který mi ji přetlumočí..... To bylo podstatou mojí prvotní reakce. |
||
Časová prodleva: 12 měsíců
|
|||
alda78 Profil * |
#22 · Zasláno: 14. 5. 2007, 19:51:19
floor(10/3);
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0