float...var?

Posted By: Olchi

float...var? - 03/01/11 17:04

Hallo, ich mal wieder.
Ich brauche unbedingt große Zahlen, kein Problem dachte ich, bei der Definition einfach "float meinevariable =....." statt "var".
Denkste, geht nicht, habe dann viel ausprobiert, nichts geht, habe wohl irgendetwas nicht kapiert.
Brauche also Hilfe:
Wie und wo definiere ich variablen für große Zahlen ?(zig Millionen..)
und wie zeige ich die Werte mit "digits" auf einem Panel an?

Wie ich ein panel erstelle weis ich...

Olchi
Posted By: xxxxxxx

Re: float...var? - 03/01/11 17:17

zahl: wenns keine kommazahlen sind dann mach diesen wert doch einfach so klein das 1 =^ 0.001(=^ = entspricht! konnte das hüdchen nicht über das gleich steten)
bei den digts gibts da den schönen factor-parameter wink damit kanst du dann bis zu 999999999 anzeigen
EDIT: wenns wirklich nicht functioniert klingt viel mehr danach das du versuchst eine var in eine float umwandelst und das kann schiefgehen...
xxxxxxx
Posted By: Olchi

Re: float...var? - 03/01/11 17:47

Es ist doch aber im Handbuch beschrieben, das man durchaus große Zahlen verwenden kann, aber es gibt meiner Meinung nach keinen Hinweis darauf wie ich das als Anfänger machen kann.
Die Methode mit dem Faktor geht zwar, aber dem entgegen steht dann die Ungenauigkeit von 10% bei der Division...
Olchi
Posted By: Uhrwerk

Re: float...var? - 03/01/11 17:53

Du kannst float Variablen wie jede andere auch verwenden, da dürfte es eigentlich kein Problem geben. Zum Beispiel so:

float x = 1000000000;

Für noch einen größeren Wertebereich, bzw. größere Präzision kannst Du auch den Typ double verwenden. Wenn Du das ganze in einem Panel darstellen willst, musst Du allerdings wieder zu fixed/var konvertieren. Weise in diesem Fall einfach einer fixed Variable den gecasteten float Wert zu. Achte dabei darauf, dass Du keinen Overflow erzeugst. Hier findest Du nochmal eine genauere Beschreibung und die Wertebereiche der einzelnen Datentypen:

http://www.conitec.net/beta/aarray.htm
Posted By: Olchi

Re: float...var? - 03/01/11 18:30

Hallo Uhrwerk,
klingt alles sehr plausibel...habe dennoch ein Verständnissproblem:
float reicht völlig aus, kannst du mir ein Beispiel geben?
wie dklariere ich float und fixed, und wo?
Muß ich beim Anzeigen im Panel "fixed" vor den Variablennamen schreiben, oder langt der Name der Variablen?
Bin völlig durcheinander...
Olchi
Posted By: Uhrwerk

Re: float...var? - 03/01/11 19:45

Wo Du es deklarierst hängt davon ab, wo Du es gebrauchst. Lokale Variablen innerhalb einer Funktion, globale Variablen ausserhalb einer Funktion. Hier ein kleines Beispiel, das zwar nichts sinnvolles tut, aber die Funktionsweise verdeutlichen sollte:
Code:
float myFloat; // Eine globale float Variable.

fixed myDisplayedVariable; // Die Variable, die Du im Panel anzeigen lassen kannst.

void foo()
{
	float temp = 1337.13; // Lokale float Variable
	while (1)
	{
		myFloat = time_frame * temp;
		myDisplayedVariable = (fixed)myFloat;
		wait(1);
	}
}



myDisplayedVariable kannst Du jetzt ganz normal mit digits in einem Panel anzeigen.

Edit: "fixed" ist nur ein andere Name für "var". Oder noch genauer eigentlich umgekehrt. Also "var x;" ist genau das gleiche wie "fixed x". "var" ist eine GameStudio "Erfindung", während fixed in der C Programmierung üblich ist. Das irritiert Anfänger manchmal etwas.

Posted By: Maschine

Re: float...var? - 03/02/11 18:31

Hallo Uhrwerk,
danke für die Antwort mit Beispiel, das ist es was ein Anfänger braucht...
Hat mich sehr viel weiter gebracht.
Olchi
Posted By: WretchedSid

Re: float...var? - 03/02/11 20:03

Originally Posted By: Maschine
Hallo Uhrwerk,
danke für die Antwort mit Beispiel, das ist es was ein Anfänger braucht...
Hat mich sehr viel weiter gebracht.
Olchi

Falscher Doppel Acc?
Posted By: Olchi

Re: float...var? - 03/08/11 19:27

kein falscher Doppel ACC,
von "Maschine" habe ich die Software gekauft, ist ein Kollege, habe Ihn mal zur Rede gestellt was das soll, ersagte mir das er kompl aufgehört hat mit 3dgs, verfolgt aber dennoch mein Vorankommen. Habe ihn gesagt er soll es lassen...
Olchi
© 2024 lite-C Forums