BIS fnc bitflagsFlip: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
m (Text replacement - " \|seealso *= *([^ ]*)\[\[BIS fnc ([a-zA-Z0-9_]+)\]\]([^ ]*)" to " |seealso= $1BIS_fnc_$2$3")
 
(7 intermediate revisions by the same user not shown)
Line 14: Line 14:
supported range is 2^0...2^24 (1...16777216)
supported range is 2^0...2^24 (1...16777216)


|s1=[flagset, flag] call [[BIS_fnc_bitflagsFlip]]
|s1= [flagset, flag] call [[BIS_fnc_bitflagsFlip]]


|p1= flagset: [[Number]] - flagset
|p1= flagset: [[Number]] - flagset
Line 21: Line 21:
|r1= [[Number]]  - new flagset with given flag or flags flipped
|r1= [[Number]]  - new flagset with given flag or flags flipped


|x1=<code>[1 + 16, 8] call BIS_fnc_bitflagsFlip; // 25 (which is 1 + 8 + 16)
|x1=<sqf>[1 + 16, 8] call BIS_fnc_bitflagsFlip; // 25 (which is 1 + 8 + 16)
[25, 8] call BIS_fnc_bitflagsFlip; // 17 (which is 1 + 16)
[25, 8] call BIS_fnc_bitflagsFlip; // 17 (which is 1 + 16)
[2 + 4 + 8, 2 + 8] call BIS_fnc_bitflagsFlip; // 4
[2 + 4 + 8, 2 + 8] call BIS_fnc_bitflagsFlip; // 4
[4, 2 + 8] [[call]] [[BIS_fnc_bitflagsFlip]]; // 14 (which is 2 + 4 + 8)</code>
[4, 2 + 8] call BIS_fnc_bitflagsFlip; // 14 (which is 2 + 4 + 8)</sqf>


|seealso= [[BIS fnc bitflagsSet]] [[BIS fnc bitflagsCheck]] [[BIS fnc bitflagsToArray]] [[BIS fnc bitflagsUnset]]
|seealso=     [[BIS_fnc_bitflagsSet]] [[BIS_fnc_bitflagsCheck]] [[BIS_fnc_bitflagsToArray]] [[BIS_fnc_bitflagsUnset]]
}}
}}

Latest revision as of 18:02, 13 July 2022

Hover & click on the images for description

Description

Description:
Flips one or more flags (set gets unset and vice versa) in the given flagset, represented with decimal or hexadecimal number
(Hexadecimal number representation is simply auto-converted into decimal by the engine)
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_bitflagsFlip
Parameters:
flagset: Number - flagset
flag: Number - one or more flags to flip
Return Value:
Number - new flagset with given flag or flags flipped

Examples

Example 1:
[1 + 16, 8] call BIS_fnc_bitflagsFlip; // 25 (which is 1 + 8 + 16) [25, 8] call BIS_fnc_bitflagsFlip; // 17 (which is 1 + 16) [2 + 4 + 8, 2 + 8] call BIS_fnc_bitflagsFlip; // 4 [4, 2 + 8] call BIS_fnc_bitflagsFlip; // 14 (which is 2 + 4 + 8)

Additional Information

See also:
BIS_fnc_bitflagsSet BIS_fnc_bitflagsCheck BIS_fnc_bitflagsToArray BIS_fnc_bitflagsUnset

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