100/400=0 Ö.ö

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

5k41

Betreff: 100/400=0 Ö.ö

BeitragSa, März 25, 2006 12:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!
Ich bin echt verzweifelt! Ich schreibe gerade an einem Progamm, welches einen Würfel per AddVertex usw. erstellt und automatisch mit einer Skybox textur texturiert... zu meiner berechnung der UV-Koordinaten, habe ich mir eine Funktion geschrieben, in der ich (in meinem Fall) 100/400 Teile und habe mich immer gewundert wieso die Berechnung nicht funktioniert. Heute fand ich des Rätsels Lösung: Wenn man in der Hauptschleife Text,0,0,FLOAT( 100/400 ) schreibt, so ist das ergebniss 0 statt 0.25...Ö.ö habe ich etwas falsch gemacht oder ist das ein BB Fehler?? Wenns ein BB Fehler ist, wie kann ich ihn umgehen?

Danke für die Antworten im Vorraus!

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

YellowRider

Ehemaliger Admin

BeitragSa, März 25, 2006 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hättest du mal gesucht, wüsstest du es: 100.0/400.0

mfg
YellowRider

5k41

BeitragSa, März 25, 2006 12:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Wonach sollte ich denn da suchen? Mir ist leider kein passender Begriff eingefallen... und sowieso find ich den Syntax ziemlich Sch*** naja ist ja auch egal es funktioniert ja nun Wink

Vielen Dank!
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

D2006

Administrator

BeitragSa, März 25, 2006 13:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich suchte eben nach "Division" und hatte keine Treffer. Danach fiel mir "Teilen" ein. Und zack: Der dritte Treffer wars.
Natürlich hab ich nur in den Titeln gesucht, das is ja effektiver.
Ergo muss ich wieder mal feststellen: Suchen muss gelernt sein.


Zur Integer-Division:
Die ist alles andere als scheiße und du wirst nicht nur in BB auf sie treffen, sondern in allen Sprachen die ich so kenne.
Woher soll der Compiler wissen, dass du zwei Float Zahlen zur Division nehmen möchtest, es stehen doch eindeutig nur Integer da!? Sinnvoll ist das ganze dann, wenn wirklich ne Integerzahl rauskommt, denn die Integer-Division ist bedeutend schneller, was sich bei ein paar tausend Divisionen durchaus bemerkbar machen kann.

MfG
D2006
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Alfadur

BeitragMo, Apr 03, 2006 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
achja ...

float(100/400) bedeutet das er erst 100 durch 400 dividiert ... das ist 0, weil es beides integer zahlen sind. danach wird erst in float umgewandelt...

float(100)/float(400) wäre also angebrachter. erst beide zahlen in float umwandeln, dann dividieren. halte ich im allgemeinen für die bessere variante, gegenüber 100.0/400.0 ... denn was wenn man variablen hat?
A Cray is the only computer that runs an endless loop in less than four hours.

5k41

BeitragMo, Apr 03, 2006 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
mh stimmt ich hab die Variablen dann einfach auch zu Floats per # verwandelt... danke frü diese Lösung Alfa!
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group