Autor | Zpráva | ||
---|---|---|---|
Werewolf Profil |
#1 · Zasláno: 8. 3. 2010, 20:54:53
Zdravím.
Koupil jsem si chytrou knihu o C# a hned použil příklad mocnění. double x; double y; double z = System.Math.Pow(x, y); Já bych potřeboval, aby program vrátil to, co vrátí PHP funkce bcpow, tedy v tomto případě 18446744073709551616. Šlo by to? Díky za rady :-) |
||
Joker Profil |
#2 · Zasláno: 8. 3. 2010, 21:10:32
Vždyť to je to samé číslo, jenom jinak zapsané.
Mimochodem, ohledně umocňování, rozhodně není dobrý nápad k tomu používat operátor ^ ...před časem jsem narazil na velmi veselý příklad. |
||
Timy Profil |
#3 · Zasláno: 8. 3. 2010, 21:40:23
Joker:
Stejné číslo to není. 1,84467440737096E+19 = 1,84467440737096 * 10^19 = 18446744073709600000 != 18446744073709551616. „Mimochodem, ohledně umocňování, rozhodně není dobrý nápad k tomu používat operátor ^ ...před časem jsem narazil na velmi veselý příklad.“ Tohle moc nechápu -- v programovacích jazycích je to nějaký binární operátor, v TeXu je to standardní značení mocnin. |
||
Joker Profil |
#4 · Zasláno: 8. 3. 2010, 22:24:35
Timy:
„Stejné číslo to není.“ Jasně, ale není jen nějak zaokrouhlená ta prezentace? Tj. že kdyby se to porovnalo, dá to to samé? „Tohle moc nechápu -- v programovacích jazycích je to nějaký binární operátor“ Tak teď se bavíme konkrétně o C# (i když ten příklad je z klasického C, ale ten operátor je v obou stejný). Na tom článku mě pobavilo to, čeho ten programátor dosáhl... a hlavně představa toho chudáka, co to pak ladil :-) Kdybych si dal vypsat MAX_PID s výsledkem 1 a pak (MAX_PID + 1) s výsledkem 6, asi se na to vykašlu a jdu domů :-) |
||
Timy Profil |
#5 · Zasláno: 8. 3. 2010, 22:40:18
Joker:
„Jasně, ale není jen nějak zaokrouhlená ta prezentace? Tj. že kdyby se to porovnalo, dá to to samé?“ http://msdn.microsoft.com/en-us/library/678hzkk9(VS.71).aspx Precision: 15-16 digits Přesnější už to asi nebude. Takže Werewolfovi asi nezbyde nic jiného, než si stáhnout nějakou knihovnu pro práci s velkými čísly. Nebo si nějakou sám napsat, je to docela zábava. „Kdybych si dal vypsat MAX_PID s výsledkem 1 a pak (MAX_PID + 1) s výsledkem 6, asi se na to vykašlu a jdu domů :-)“ To jo :-)). |
||
Chamurappi Profil |
#6 · Zasláno: 8. 3. 2010, 23:15:14 · Upravil/a: Chamurappi
Reaguji na Timyho:
„Přesnější už to asi nebude.“ Ještě existuje typ decimal . Ale Math.Pow bohužel decimaly nebaští.
Reaguji na Jokera: „velmi veselý příklad“ To mi připomnělo tuhle zajímavost s operátorem ^ v JavaScriptu. |
||
Werewolf Profil |
#7 · Zasláno: 9. 3. 2010, 07:07:37
Timy:
Fajn, aspoň se zdokonalím :-) Možná půjde to mocnění zapsat do cyklu... Zkusím to. |
||
Kajman_ Profil * |
#8 · Zasláno: 9. 3. 2010, 08:53:42
Ještě se musí odečíst jednička, pokud to má být součet zrnek obilí na šachovnici, pokud je na prvním políčku 1 zrno, na druhém dvě, na třetím čtyři atd.
|
||
Časová prodleva: 14 let
|
0