BIS fnc bitflagsFlip: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Created page with "{{DISPLAYTITLE:BIS_fnc_bitflagsFlip}} {{Function|= ____________________________________________________________________________________________ | arma3dev |= |1.65|= |arg= |...")
m (Text replacement - " \|seealso *= *([^ ]*)\[\[BIS fnc ([a-zA-Z0-9_]+)\]\]([^ ]*)" to " |seealso= $1BIS_fnc_$2$3")
 
(48 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:BIS_fnc_bitflagsFlip}}
{{RV|type=function
{{Function|=
____________________________________________________________________________________________


| arma3dev |=
|game1= arma3
|1.65|=
|version1= 1.66


|arg= |= MPARGUMENTS
|gr1= Bitwise


|eff= |= MPEFFECTS
|descr= Flips one or more flags (set gets unset and vice versa) in the given flagset, represented with decimal or hexadecimal number<br>
____________________________________________________________________________________________
 
| Flips one or more flags (set gets unset and vice versa) 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>
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>
Line 17: Line 12:
Due to various limitations of the Real Virtuality engine this function is  
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  
intended to work with unsigned 24 bit integers only. This means that the  
supported range is 2^0...2^24 (1...16777216) |=
supported range is 2^0...2^24 (1...16777216)
____________________________________________________________________________________________


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


|p1= flagset: [[Number]] - flagset |=
|p1= flagset: [[Number]] - flagset
|p2= flag: [[Number]] - one or more flags to flip |=
|p2= flag: [[Number]] - one or more flags to flip


| [[Number]]  - new flagset with given flag or flags flipped |= Return value
|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>|= EXAMPLE1
[4, 2 + 8] call BIS_fnc_bitflagsFlip; // 14 (which is 2 + 4 + 8)</sqf>
__________


| [[BIS fnc bitflagsSet]], [[BIS fnc bitflagsCheck]], [[BIS fnc bitflagsToArray]], [[BIS fnc bitflagsUnset]]|= SEEALSO
|seealso=    [[BIS_fnc_bitflagsSet]] [[BIS_fnc_bitflagsCheck]] [[BIS_fnc_bitflagsToArray]] [[BIS_fnc_bitflagsUnset]]
 
|  |= MPBEHAVIOUR
____________________________________________________________________________________________
}}
}}
<h3 style='display:none'>Bottom Section</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>
[[Category:{{Name|arma3}}: Functions|{{uc:bitflagsFlip}}]]

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