|
[TGF/MMF]Procent |
| Autor |
Wiadomość |
Fadex
Legenda #4; #12; #18; #20; #21; #27
 
Główny edytor: 
Pojedynki: nie
Pomógł: 105 razy Posty: 1773
51612 Prestiż
|
Wysłany: 26-07-2006, 15:20 [TGF/MMF]Procent
|
|
|
| Czy jest plugin pozwalający obliczyć jakim procentem jednej liczby jest druga liczba? |
_________________ If it doesn't have to work, I can optimize any code to a runtime of zero. What's your superpower?
wat |
|
|
|
 |
Kaytek
Chorąży
 
Pomógł: 1 raz Posty: 293
6902 Prestiż
|
Wysłany: 26-07-2006, 15:24
|
|
|
Nie, ale jest na to wzór. |
_________________
 |
|
|
|
 |
Fadex
Legenda #4; #12; #18; #20; #21; #27
 
Główny edytor: 
Pojedynki: nie
Pomógł: 105 razy Posty: 1773
51612 Prestiż
|
Wysłany: 26-07-2006, 15:27
|
|
|
| Kaytek napisał/a: | Nie, ale jest na to wzór. |
Łał, serio? ;]
Tylko jak go zapisać w TGF/MMF? |
_________________ If it doesn't have to work, I can optimize any code to a runtime of zero. What's your superpower?
wat |
|
|
|
 |
Kaytek
Chorąży
 
Pomógł: 1 raz Posty: 293
6902 Prestiż
|
Wysłany: 26-07-2006, 15:40
|
|
|
Normalnie? Trzy liczniki, ustaw wartość licznika na (tutaj wpisujesz swój wzór, za liczby podstawiasz wartości liczników 1 i 2) i już. |
_________________
 |
|
|
|
 |
trocha
Kapral
 
Pomógł: 1 raz Posty: 27
696 Prestiż
|
Wysłany: 26-07-2006, 15:49
|
|
|
| Jeśli dalej nie rozumiesz, tu masz przykładjak ci się otworzy kliknij w: "procent" |
|
|
|
 |
Fadex
Legenda #4; #12; #18; #20; #21; #27
 
Główny edytor: 
Pojedynki: nie
Pomógł: 105 razy Posty: 1773
51612 Prestiż
|
Wysłany: 26-07-2006, 16:00
|
|
|
Sry, ale jakoś ostatnio z matmy za dużo nie pamiętam
Dzięki trocha :]
PS: Twój przykład nie działa dostatecznie dobrze, trzeba to obliczyć tak:
Kod: | ( value( "Counter 1" ) * 100 ) / value( "Counter 2" ) |
A nie tak:
Kod: | value( "Counter 1" ) * 100 / value( "Counter 2" ) |
|
_________________ If it doesn't have to work, I can optimize any code to a runtime of zero. What's your superpower?
wat |
|
|
|
 |
Minty
Stwórczyni omc dr fizyki
 
Główny edytor: 
Drugi edytor: 
Pojedynki: być może
Pomogła: 259 razy Posty: 3447
33795 Prestiż
|
Wysłany: 26-07-2006, 17:29
|
|
|
Sprawdź jeszcze:
Kod: | ( value("1") * 100 + value("2") / 2) / value("2") |
Zaokrągla naturalnie, czyli np. 55,9 zaokrągli do 56, a nie do 55 (jak to robi zwykle TGF).
Z kolei w MMF wystarczy zrobić tak:
Kod: | ( value("1") * 100.0 ) / value("2") |
Różnicą jest ".0" po setce, która zamienia liczbę z typu całkowitego na zmiennoprzecinkowe. Pokazuje wtedy liczby po przecinku. |
|
|
|
 |
Fadex
Legenda #4; #12; #18; #20; #21; #27
 
Główny edytor: 
Pojedynki: nie
Pomógł: 105 razy Posty: 1773
51612 Prestiż
|
Wysłany: 26-07-2006, 17:35
|
|
|
Dzięki, ale dokładne zaokrąglanie nie jest tu konieczne
Projekt na razie w TGF. |
_________________ If it doesn't have to work, I can optimize any code to a runtime of zero. What's your superpower?
wat |
|
|
|
 |
Lukas
Plutonowy
 
Główny edytor: 
Pomógł: 4 razy Posty: 89
942 Prestiż
|
|
|
|
 |
Minty
Stwórczyni omc dr fizyki
 
Główny edytor: 
Drugi edytor: 
Pojedynki: być może
Pomogła: 259 razy Posty: 3447
33795 Prestiż
|
Wysłany: 28-07-2006, 16:47
|
|
|
Zgubił Ci się jeden nawias, a TGF nie obłsuguje liczb zmiennoprzecinkowych.
Poza tym nowoczesne procesory wykonują mnożenia i dzielenia o wiele wydajniej, niż 15 lat temu, przyspieszenie byłoby żadne Zresztą i tak wzór jest zupełnie pozbawiony sensu, bo działa tylko w MMF, ale dodaje zbędną wtedy liczbę (0.5). Sprawdzałeś? |
|
|
|
 |
Lukas
Plutonowy
 
Główny edytor: 
Pomógł: 4 razy Posty: 89
942 Prestiż
|
Wysłany: 28-07-2006, 17:07
|
|
|
tego 1 nawiasu miało nie być
Nie sprawdzałem, a zapomniałem o tym, że tgf nie obsługuje liczb zmiennoprzecinkowych
Bynajmniej ja programując, używam swojego wzoru, wygląda to tak:
Kod: | value("1")/value("2")*100+0.5 |
zaokrąglone liczby w skali 0-1 powinny wyglądać tak:
0.0 - 0
0.1 - 0
0.2 - 0
0.3 - 0
0.4 - 0
0.5 - 1
0.6 - 1
0.7 - 1
0.8 - 1
0.9 - 1
1.0 - 1
tgf, podobnie jak w programowaniu przy konwersji zmiennej typu float na zmienną typu int, "zaokrągla w dół, wulgarnie odcinając cyfry po przecinku, czyli tak:
0.0 - 0
0.1 - 0
0.2 - 0
0.3 - 0
0.4 - 0
0.5 - 0
0.6 - 0
0.7 - 0
0.8 - 0
0.9 - 0
1.0 - 1
Jak można w prawidłowy sposób zaokrąglić liczbę? dodając do niej 0.5, a następnie odcinając liczby po przecinku. Przykład:
0.0 - (dodajemy 0.5) - 0.5 - (teraz tgf, czy konwerter liczb float na int, odcina liczby po przecinku) - 0
0.1 - (dodajemy 0.5) - 0.6 - (teraz tgf, czy konwerter liczb float na int, odcina liczby po przecinku) - 0
0.2 - (dodajemy 0.5) - 0.7 - (teraz tgf, czy konwerter liczb float na int, odcina liczby po przecinku) - 0
0.3 - (dodajemy 0.5) - 0.8 - (teraz tgf, czy konwerter liczb float na int, odcina liczby po przecinku) - 0
0.4 - (dodajemy 0.5) - 0.9 - (teraz tgf, czy konwerter liczb float na int, odcina liczby po przecinku) - 0
0.5 - (dodajemy 0.5) - 1.0 - (teraz tgf, czy konwerter liczb float na int, odcina liczby po przecinku) - 1
0.6 - (dodajemy 0.5) - 1.1 - (teraz tgf, czy konwerter liczb float na int, odcina liczby po przecinku) - 1
0.7 - (dodajemy 0.5) - 1.2 - (teraz tgf, czy konwerter liczb float na int, odcina liczby po przecinku) - 1
0.8 - (dodajemy 0.5) - 1.3 - (teraz tgf, czy konwerter liczb float na int, odcina liczby po przecinku) - 1
0.9 - (dodajemy 0.5) - 1.4 - (teraz tgf, czy konwerter liczb float na int, odcina liczby po przecinku) - 1
1.0 - (dodajemy 0.5) - 1.5 - (teraz tgf, czy konwerter liczb float na int, odcina liczby po przecinku) - 1
W ten sposób możemy uzyskać prawidłowo zaokrąglone liczby
Mam nadzieję, że mnie zrozumieliście, bo trochę zamotałem
Mam świadomośćtego, że teraz procki są o niebo wydajniejsze, ale jak mówiłem, przy dużej ilości takich operacji, np przy zaokrąglaniu elementów tablicy kilkusettsięczno elementowej, odczuje się różnicę |
|
|
|
 |
Minty
Stwórczyni omc dr fizyki
 
Główny edytor: 
Drugi edytor: 
Pojedynki: być może
Pomogła: 259 razy Posty: 3447
33795 Prestiż
|
Wysłany: 28-07-2006, 17:36
|
|
|
Ale żeś się rozpisał...
Chodzi mi o to, że są zupełnie inne procedury w procesorach, niż kiedyś, przez co mnożenia i dzielenia są o wiele bardziej zbliżone do dodawań.
Ale koniec już offtopa |
|
|
|
 |
|
|