Aktywne Wpisy
iwannafreshstart +290
zauwazyliscie ze jak ktos kończy wypowiedz dodajac „z fartem” to od razu wiadomo ze jest jebniety i jego opinie mozna potraktowac jako zart? XD
#heheszki #nieheheszki #popularnaopinia
#heheszki #nieheheszki #popularnaopinia
lskx +93
Mirki jak radzicie sobie z tryliardami? ( ͡° ͜ʖ ͡°)
Mam zmienną w grze, która będzie prędzej lub później przyjmowała ogromne wartości. Chcę zapisywać ją w postaci floata od 1-1000 + sufiks mnożnika, np 17 tysięcy -> 17K, 24 miliardy -> 24B itd. Jak mogę zrobić coś takiego?
I jeszcze - double w C# naprawdę ma taki zasięg jak piszą na msdn? ±5.0 × 10^−324 to ±1.7 × 10^308? Jeśli tak to mógłbym to wszystko zapisywać w jednej zmiennej, 308 zer nie przekroczę.
Komentarz usunięty przez autora
Nie, kłamią.
I wtedy zrobili aktualizację z K, M, G, tak jak pisze @qweasdqweasd.
Jeśli wystarczy ci dokładność i zakres double, to weź. Jak chcesz dokładniej to BigInteger, tak jak pisze @Myrten, ale w nich troszkę mniej wygodnie robi się obliczenia (a przynajmniej tak jest w Javie).
p.s. double ma wielki zasięg ale jest niedokładny i nawet legendarny John Skeet się pierdyknął w swojej klasie do wydobywania wartości z double, więc jak dla mnie jedyny realny wybór do BigInteger ( ͡° ͜ʖ ͡°)
Przykład, to ProjectEuler 20: https://projecteuler.net/problem=20
Rozwiązanie (moje) masz tutaj: https://github.com/zchpit/ProjectEuler/blob/master/C%23/ProjectEulerInC%23/ProjectEulerInC%23/Problem20.cs
Klasa stworzona przez Johna Skeeta jest tutaj: https://github.com/zchpit/ProjectEuler/blob/master/C%23/ProjectEulerInC%23/ProjectEulerInC%23/DoubleConverter.cs
Poprawne rozwiązanie, zgodnie z projektem Euler działa z BigInteger. Jak zamiast tego, użyjesz double + DoubleConverter to otrzymasz błędny wynik. A o ile? To już sam sobie sprawdź.
Linki: http://www.mathblog.dk/project-euler-20-sum-digits/