ACE3/addons/common/functions/fnc_binarizeNumber.sqf

41 lines
757 B
Plaintext
Raw Normal View History

/*
* 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>
*
* Example:
* [5, 5] call ace_common_fnc_binarizeNumber
*
2015-09-18 07:38:19 +00:00
* Public: Yes
*/
2015-01-13 19:56:02 +00:00
#include "script_component.hpp"
2015-09-18 07:38:19 +00:00
params ["_number", ["_minLength", 8]];
2015-09-18 07:38:19 +00:00
_number = round _number;
private _array = [];
2015-12-12 16:26:47 +00:00
_array resize _minLength;
for "_index" from 0 to (_minLength - 1) do {
2015-05-14 18:02:42 +00:00
_array set [_index, false];
};
private _index = 0;
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-05-14 18:02:42 +00:00
_array set [_index, _rest == 1];
_index = _index + 1;
};
2015-09-18 07:38:19 +00:00
_array