2015-01-11 16:42:31 +00:00
|
|
|
/*
|
|
|
|
* Author: commy2
|
|
|
|
* Get a binary equivalent of a decimal number.
|
|
|
|
*
|
2015-09-18 07:38:19 +00:00
|
|
|
* Arguments:
|
|
|
|
* 0: Decimal Number <NUMBER>
|
|
|
|
* 1: Minimum length of the returned Array, note: returned array can be larger (default: 8) <NUMBER>
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* Booleans <ARRAY>
|
2015-01-11 16:42:31 +00:00
|
|
|
*
|
2017-06-08 13:31:51 +00:00
|
|
|
* Example:
|
|
|
|
* [5, 5] call ace_common_fnc_binarizeNumber
|
|
|
|
*
|
2015-09-18 07:38:19 +00:00
|
|
|
* Public: Yes
|
2015-01-11 16:42:31 +00:00
|
|
|
*/
|
2015-01-13 19:56:02 +00:00
|
|
|
#include "script_component.hpp"
|
2015-01-11 16:42:31 +00:00
|
|
|
|
2015-09-18 07:38:19 +00:00
|
|
|
params ["_number", ["_minLength", 8]];
|
2015-01-11 16:42:31 +00:00
|
|
|
|
2015-09-18 07:38:19 +00:00
|
|
|
_number = round _number;
|
2015-01-11 16:42:31 +00:00
|
|
|
|
2015-12-12 15:48:54 +00:00
|
|
|
private _array = [];
|
2015-12-12 16:26:47 +00:00
|
|
|
_array resize _minLength;
|
2015-01-11 16:42:31 +00:00
|
|
|
|
|
|
|
for "_index" from 0 to (_minLength - 1) do {
|
2015-05-14 18:02:42 +00:00
|
|
|
_array set [_index, false];
|
2015-01-11 16:42:31 +00:00
|
|
|
};
|
|
|
|
|
2015-12-12 15:48:54 +00:00
|
|
|
private _index = 0;
|
2015-01-11 16:42:31 +00:00
|
|
|
|
|
|
|
while {_number > 0} do {
|
2015-12-12 16:26:47 +00:00
|
|
|
private _rest = _number mod 2;
|
2015-05-14 18:02:42 +00:00
|
|
|
_number = floor (_number / 2);
|
2015-01-11 16:42:31 +00:00
|
|
|
|
2015-05-14 18:02:42 +00:00
|
|
|
_array set [_index, _rest == 1];
|
|
|
|
_index = _index + 1;
|
2015-01-11 16:42:31 +00:00
|
|
|
};
|
2015-09-18 07:38:19 +00:00
|
|
|
|
2015-01-11 16:42:31 +00:00
|
|
|
_array
|