BIS fnc bitflagsCheck: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>") |
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>") |
||
Line 27: | Line 27: | ||
[2 + 4 + 8, 2 + 32] call BIS_fnc_bitflagsCheck; // true | [2 + 4 + 8, 2 + 32] call BIS_fnc_bitflagsCheck; // true | ||
[2 + 4 + 8, 1] call BIS_fnc_bitflagsCheck; // false | [2 + 4 + 8, 1] call BIS_fnc_bitflagsCheck; // false | ||
[2 + 4 + 8, 1 + 32] | [2 + 4 + 8, 1 + 32] call [[BIS_fnc_bitflagsCheck]]; // false</code> | ||
|seealso= [[BIS fnc bitflagsFlip]] [[BIS fnc bitflagsSet]] [[BIS fnc bitflagsToArray]] [[BIS fnc bitflagsUnset]] | |seealso= [[BIS fnc bitflagsFlip]] [[BIS fnc bitflagsSet]] [[BIS fnc bitflagsToArray]] [[BIS fnc bitflagsUnset]] | ||
}} | }} |
Revision as of 21:40, 12 July 2022
Description
- Description:
- Checks if one or more flags are set in the given flagset, represented with decimal or hexadecimal number
(Hexadecimal number representation is simply auto-converted into decimal by the engine)
In other words, it simply performs a bitwise AND (&) operation on the two numbers:flags & flagset > 0
To check which flags are present in given flagset use BIS_fnc_bitflagsToArray
Limitations:
Due to various limitations of the Real Virtuality engine this function is intended to work with unsigned 24 bit integers only. This means that the supported range is 2^0...2^24 (1...16777216) - Execution:
- call
- Groups:
- Bitwise
Syntax
- Syntax:
- [flagset, flag] call BIS_fnc_bitflagsCheck
- Parameters:
- flagset: Number - flagset
- flag: Number - one or more flags to check
- Return Value:
- Boolean
Examples
- Example 1:
[2 + 4 + 8, 8] call BIS_fnc_bitflagsCheck; // true [2 + 4 + 8, 2 + 32] call BIS_fnc_bitflagsCheck; // true [2 + 4 + 8, 1] call BIS_fnc_bitflagsCheck; // false [2 + 4 + 8, 1 + 32] call BIS_fnc_bitflagsCheck; // false
Additional Information
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note