ACE3/addons/common/functions/fnc_toBin.sqf

37 lines
708 B
Plaintext
Raw Normal View History

#include "..\script_component.hpp"
/*
2015-09-17 16:25:02 +00:00
* Author: commy2
* Converts number to binary number
*
* Arguments:
* 0: A number <NUMBER>
* 1: Minumum length of numbers <NUMBER> (default: 1)
2015-09-17 16:25:02 +00:00
*
* Return Value:
2015-09-19 22:55:58 +00:00
* A binary number as string <STRING>
2015-09-17 16:25:02 +00:00
*
* Example:
* [5] call ace_common_fnc_toBin
*
2015-09-17 16:25:02 +00:00
* Public: Yes
*/
2015-09-17 16:25:02 +00:00
params ["_number", ["_minLength", 1]];
private _sign = ["", "-"] select (_number < 0);
_number = round abs _number;
private _bin = ["", "0"] select (_number == 0);
while {_number > 0} do {
private _rest = str (_number mod 2);
2015-05-14 18:06:06 +00:00
_number = floor (_number / 2);
_bin = _rest + _bin;
};
while {count toArray _bin < _minLength} do {
2015-05-14 18:06:06 +00:00
_bin = "0" + _bin;
};
2015-09-19 22:55:58 +00:00
_sign + _bin // return