2^24=16777200?
Übersicht
BlitzBasic
Allgemein
bjhBetreff: 2^24=16777200? |
Antworten mit Zitat |
|
|---|---|---|
|
gebt mal:
BlitzBasic: [AUSKLAPPEN] Print 2^24 ein. was soll das? |
||
|
|
hecticSieger des IS Talentwettbewerb 2006 |
Antworten mit Zitat |
|---|---|---|
| Durch das potenzieren wird es automatisch als Float angesehen. Und diese haben bei 32 Bit bereits in diesem Bereich Rundungsfehler. | ||
| Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D | ||
bjh |
Antworten mit Zitat |
|
|---|---|---|
|
vielen dank für die information.
nervt mich irgendwie, dass es immer solche stolpersteine gibt. weil wenns ums bit-verändern geht, dann kommt da nur scheiße raus. |
||
|
|
Xaymarehemals "Cgamer" |
Antworten mit Zitat |
|---|---|---|
Du kannst dafür Shl verwenden, einfach 1 Shl 24 und du solltest 16777216 rausbekommen. (Ich hoffe ich hab die Richtung richtig in Erinnerung.)
|
||
|
|
PSY |
Antworten mit Zitat |
|---|---|---|
|
oder einfach
Code: [AUSKLAPPEN] a%=2^24 PSY |
||
|
PSY LABS Games
Coders don't die, they just gosub without return |
||
bjh |
Antworten mit Zitat |
|
|---|---|---|
|
ok
danke psy |
||
|
|
BtbN |
Antworten mit Zitat |
|---|---|---|
|
Was auch nichts hilft, da ^ ein reiner float-operator ist und dann einfach das float zu einem int, inklusive dem rundungs-fehler, konvertiert wird.
Für Binäres arbeiten gibt es wie bereits gesagt die Shift-Operatoren. |
||
|
|
PSY |
Antworten mit Zitat |
|---|---|---|
|
BtbN hat Folgendes geschrieben: Was auch nichts hilft, da ^ ein reiner float-operator ist und dann einfach das float zu einem int, inklusive dem rundungs-fehler, konvertiert wird.
Für Binäres arbeiten gibt es wie bereits gesagt die Shift-Operatoren. Stimmt nicht. Code: [AUSKLAPPEN] Print 2^24
a% = 2^24 Print a WaitKey End Output: 16777200.0 16777216 ^^ PSY |
||
|
PSY LABS Games
Coders don't die, they just gosub without return |
||
|
|
count-doku |
Antworten mit Zitat |
|---|---|---|
|
Habe da gerade was Lustiges bemerkt...
Dieser Code: BlitzBasic: [AUSKLAPPEN]
Gibt auch bei a und Int(b) die richtigen 16777216 aus. Bei Print b kommt der falsche Wert. Also scheint es absolut egal, wann die Int Konvertierung stattfindet. lg, Count-Doku |
||
|
|
hecticSieger des IS Talentwettbewerb 2006 |
Antworten mit Zitat |
|---|---|---|
| Die Schrittweite des Rundungsfehler in dem Wertebereich liegt bei 2 etwa. Das Ergebnis von count-doku kann bei B#=(2^24)+1 nicht beeinflusst werden. Erst eine +2 zeigt wieder einen korrekten Wert an. | ||
| Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D | ||
Übersicht
BlitzBasic
Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group

