planetmaker
Tycoon
    
Beiträge: 1.315
Themen: 25
Registriert seit: Oct 2008
|
RE: NML - NewGRF Meta Language
bitmask(n) ist das Gleiche wie 2^n
bitmask(2,3,7) ist das Gleiche wie 2^2 + 2^3 + 2^7
Sprich das Nutzen von Bitmask nimmt die das Jonglieren mit den Potenzen von Zwei ab.
Um ein bestimmtes Bit n einer solchen Bitmask auszulesen kannst Du entweder
Code: HasBit(bitmask_consist_info, n)
oder das identische
Code: (bitmask_consist_info & bitmask(n)) > 0
verwenden. Letzteres erlaubt das Testen auf mehrere Bits gleichzeitig:
Code: (bitmask_consist_info & bitmask(a,b,c)) == bitmask(a,b,c)
bitmask_consist_info hat acht Bits, numeriert von 0 bis 7. Der Wertebereich von bitmask_consist_info liegt also zwischen 0 und 255 (= 2^0 + 2^1 + 2^2 + ... 2^7)
(Dieser Beitrag wurde zuletzt bearbeitet: 27.08.2011, 16:42 von planetmaker.)
|
|
| 27.08.2011, 16:40 |
|