BIS fnc bitflagsCheck: Difference between revisions
Lou Montana (talk | contribs) m (Text replacement - " \|seealso *= *([^ ]*)\[\[BIS fnc ([a-zA-Z0-9_]+)\]\]([^ ]*)" to " |seealso= $1BIS_fnc_$2$3")  | 
				Lou Montana (talk | contribs)  m (Some wiki formatting)  | 
				||
| (2 intermediate revisions by the same user not shown) | |||
| Line 8: | Line 8: | ||
|descr= Checks if one or more flags are set in the given flagset, represented with decimal or hexadecimal number<br>  | |descr= Checks if one or more flags are set in the given flagset, represented with decimal or hexadecimal number<br>  | ||
(Hexadecimal number representation is simply auto-converted into decimal by the engine)<br>  | (Hexadecimal number representation is simply auto-converted into decimal by the engine)<br>  | ||
In other words, it simply performs a [[BIS_fnc_bitwiseAND|bitwise AND (&)]] operation on the two numbers: {{  | In other words, it simply performs a [[BIS_fnc_bitwiseAND|bitwise AND (&)]] operation on the two numbers: {{hl|flags & flagset > 0}}<br>  | ||
To check which flags are present in given flagset use [[BIS_fnc_bitflagsToArray]]<br><br>  | To check which flags are present in given flagset use [[BIS_fnc_bitflagsToArray]]<br><br>  | ||
Due to various limitations of the Real Virtuality engine this function is    | |pr= 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).  | ||
intended to work with unsigned 24 bit integers only. This means that the    | |||
supported range is 2^0...2^24 (1  | |||
|s1= [flagset, flag] call [[BIS_fnc_bitflagsCheck]]  | |s1= [flagset, flag] call [[BIS_fnc_bitflagsCheck]]  | ||
|p1= flagset: [[Number]] - flagset  | |p1= flagset: [[Number]] - flagset  | ||
|p2= flag: [[Number]] - one or more flags to check  | |p2= flag: [[Number]] - one or more flags to check  | ||
| Line 24: | Line 23: | ||
* [[false]]: no given flag or flags are set in the given flagset  | * [[false]]: no given flag or flags are set in the given flagset  | ||
|x1=<sqf>[2 + 4 + 8, 8] call BIS_fnc_bitflagsCheck; // true  | |x1= <sqf>  | ||
[2 + 4 + 8, 8] call BIS_fnc_bitflagsCheck; // true  | |||
[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] call BIS_fnc_bitflagsCheck; // false</sqf>  | [2 + 4 + 8, 1 + 32] call BIS_fnc_bitflagsCheck; // false  | ||
</sqf>  | |||
|seealso=   | |seealso= [[BIS_fnc_bitflagsFlip]] [[BIS_fnc_bitflagsSet]] [[BIS_fnc_bitflagsToArray]] [[BIS_fnc_bitflagsUnset]]  | ||
}}  | }}  | ||
Latest revision as of 16:28, 27 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 - Execution:
 - call
 - Problems:
 - 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).
 - 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:
 
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