Module numbers
Module that provides functions to convert numbers to any number systems.
All convert operations based on tonumber on 1/2 and determined in few steps
- Convert (any_based_number) to decimal - Perform operation on decimals - Convert result to any_based_number
Warning! Floats currently not supported!
Info:
- Author:
Nightmare0
email: seller.nightmares@gmail.com discord: #4993
Functions
| to_binary (num[, accum]) | Convert decimal number to binary number. |
| to_custom (num10, base[, alphabet[, accum]]) | Convert number to custom number system. |
Class.Number
| new (self, _number[, _base]) | constructor |
| asDecimal (self) | Get number as decimal. |
| asBase (self, base) | Get number in different number system. |
| toBase (self, _base) | Convert number to another numbers system. |
Class.Number.metamethods
| __tostring (self) | tostring |
| __add (self, what) | Sum |
| __sub (self, what) | Sub |
| __pow (self, what) | Pow |
Functions
- to_binary (num[, accum])
-
Convert decimal number to binary number.
Parameters:
- num number
- accum table Accumulator. (optional)
- to_custom (num10, base[, alphabet[, accum]])
-
Convert number to custom number system.
By default num10 must be 10 based number only.
Parameters:
Class.Number
- new (self, _number[, _base])
-
constructor
Parameters:
- self table
- _number number Initial number value.
- _base number Base of this number, default = 10. (optional)
Usage:
local obj -- initialize number with binary value obj = Number(1010011, 2) -- in this case number 1010011 -- is decimal but represented as binary. -- if you need to setup long binary number, use string. obj = Number("0110001000010100010101011", 2) -- or as hex obj = Number (0xff, 16) -- you can print its value, or change base of it. print (obj) obj:toBase(2) -- convert number to b internally. print(obj, obj:asBase(32)) -- output result of arithmetics with object. -- arithmetic results is Number objects. print(obj + 2, obj *2, obj - 2)
- asDecimal (self)
-
Get number as decimal.
Parameters:
- self table
Returns:
-
number
- asBase (self, base)
-
Get number in different number system.
Function dont modifying internal number values.
Parameters:
- self table
- base number Base of number system convert to.
- toBase (self, _base)
-
Convert number to another numbers system.
Completely converts internal value repesentation without returning its result.
Parameters:
- self table
- _base number Number base.
Returns:
-
table
self