NukeBoards - Kreatywność przede wszystkim
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  DownloadDownload
RejestracjaRejestracja  ZalogujZaloguj

Odpowiedz do tematu
Poprzedni temat :: Następny temat
[TGF/MMF]Procent
Autor Wiadomość
Fadex 
Legenda
#4; #12; #18; #20; #21; #27


Główny edytor: MMF2 Dev
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. :P
_________________
 
 
     
Fadex 
Legenda
#4; #12; #18; #20; #21; #27


Główny edytor: MMF2 Dev
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. :P

Ł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? :P 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: MMF2 Dev
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 ;P
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: Fusion 2.5 Dev
Drugi edytor: Construct
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: MMF2 Dev
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: TGF
Pomógł: 4 razy
Posty: 89

942 Prestiż
Wysłany: 28-07-2006, 14:11   

RomanX napisał/a:
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).


Sorry za offtopic, ale nie łatwiej zrobić

Kod:
( value("1")/value("2")*100+0.5


i pozwolić tgfowi po swojemu zaokrąglić, czyli do dołu? :) Pomija się jedno dzielenie, które jest kilkukrotnie dłużej wykonywane niż operacja dodawania, co przy dużej ilości takich operacji może lekko przyśpieszyć program :)
 
 
     
Minty 
Stwórczyni
omc dr fizyki


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Construct
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 :P 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: TGF
Pomógł: 4 razy
Posty: 89

942 Prestiż
Wysłany: 28-07-2006, 17:07   

tego 1 nawiasu miało nie być :P

Nie sprawdzałem, a zapomniałem o tym, że tgf nie obsługuje liczb zmiennoprzecinkowych :P

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 :p


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: Fusion 2.5 Dev
Drugi edytor: Construct
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 :)
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

PSK Cytaty Klikibaza - kopia wszystkich klików Klikipedia - encyklopedia o tworzeniu gier Discord KlikCzat Zaproszenie Wielkie Muzeum Klikowe

Powered by phpBB modified by Przemo © 2003 phpBB Group