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
|
|
|
*
|
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-09-18 07:38:19 +00:00
|
|
|
private ["_array", "_index", "_rest"];
|
2015-01-11 16:42:31 +00:00
|
|
|
|
|
|
|
_array = [];
|
|
|
|
_array resize _minLength;
|
|
|
|
|
|
|
|
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
|
|
|
};
|
|
|
|
|
|
|
|
_index = 0;
|
|
|
|
|
|
|
|
while {_number > 0} do {
|
2015-05-14 18:02:42 +00:00
|
|
|
_rest = _number mod 2;
|
|
|
|
_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
|