Next revision | Previous revision |
new:limits [2018/02/17 22:05] – created korshun | new:limits [2018/02/17 22:09] (current) – korshun |
---|
ACSUtils defines constants that represent minimum and maximum values that can be stored in memory blocks (variables) of various sizes. | ACSUtils defines constants that represent minimum and maximum values that can be stored in memory blocks (variables) of various sizes. |
| |
===== int (signed 32-bit integer) ===== | ===== 32-bit ===== |
| |
| ACS ''int'' is a signed 32-bit integer. Unsigned ints don't exist in ACS, so ''UINT_MAX'' can't be expressed. |
| |
* ''INT_MIN = -2147483648 (-0x80000000)'' -- minimum value | * ''INT_MIN = -2147483648 (-0x80000000)'' -- minimum value |
* ''INT_MAX = 2147483647 (0x7fffffff)'' -- maximum value | * ''INT_MAX = 2147483647 (0x7fffffff)'' -- maximum value |
| |
===== Short (16-bit integer) ===== | ===== 16-bit ===== |
| |
| 16-bit integers are also known as shorts. |
| |
| * ''SHORT_MIN = -32768'' -- minimum value of signed short |
| * ''SHORT_MAX = 32676'' -- maximum value of signed short |
| * ''USHORT_MAX = 65535'' -- maximum value of unsigned short (minimum is 0) |
| |
* ''SHORT_MIN = -32768'' -- minimum value for signed short | ===== 8-bit ===== |
* ''SHORT_MAX = 32676'' -- maximum value for signed short | |
* ''USHORT_MAX = 65535'' -- maximum value for unsigned short (minimum is 0) | |
| |
===== Byte (8-bit integer) ===== | 8-bit integers are also known as bytes. |
| |
* ''BYTE_MIN = -128'' -- minimum value for signed byte | * ''BYTE_MIN = -128'' -- minimum value of signed byte |
* ''BYTE_MAX = 127'' -- maximum value for signed byte | * ''BYTE_MAX = 127'' -- maximum value of signed byte |
* ''UBYTE_MAX = 255'' -- maximum value for unsigned short (minimum is 0) | * ''UBYTE_MAX = 255'' -- maximum value of unsigned short (minimum is 0) |
| |
===== fixed (actually 32-bit integer) ===== | ===== fixed ===== |
| |
Fixed-point numbers are actually integers and have the same limits as ''int'' (''INT_MIN'' and ''INT_MAX''). But to enable [[strict typing]], there are separate limit constants for ''fixed'': | Fixed-point numbers are 32-bit integers and have the same limits as ''int'' (''INT_MIN'' and ''INT_MAX''). But to enable [[strict typing]], there are separate limit constants for ''fixed'': |
| |
* ''FIXED_MIN = (fixed)-0x80000000'' -- minimum value (-32768.0) | * ''FIXED_MIN = (fixed)-0x80000000'' -- minimum value (-32768.0) |
* ''FIXED_MAX = (fixed) 0x7fffffff'' -- maximum value (about 32767.99999) | * ''FIXED_MAX = (fixed) 0x7fffffff'' -- maximum value (slightly less than 32767.99999) |