2^24=16777200?
Übersicht

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![]() |
||
![]() |
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


Powered by phpBB © 2001 - 2006, phpBB Group