From ef2564a4e826b24aeef704654dacc0ecf9959206 Mon Sep 17 00:00:00 2001 From: gumi Date: Sat, 28 Mar 2020 19:21:24 -0400 Subject: add documentation for the octal and binary literals --- doc/script_commands.txt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 392aa0c1f..64ba17ab7 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -434,12 +434,27 @@ marked as usable in pet scripts to work in there reliably. Numbers ------- +The Hercules scripting engine supports 4 types of number literals: + +type base syntax +---------------------------------------------- +decimal 10 255 +hexadecimal 16 0xFF +octal 8 0o377 +binary 2 0b11111111 + Beside the common decimal numbers, which are nothing special whatsoever (though do not expect to use fractions, since ALL numbers are integer in this language), the script engine also handles hexadecimal numbers, which are otherwise identical. Writing a number like '0x' will make it recognized as a hexadecimal value. Notice that 0x10 is equal to 16. -Also notice that if you try to 'mes 0x10' it will print '16'. +Also notice that if you try to 'mes 0x10' it will print '16'. If you wish +to make calculations in base 8, you can also use the octal notation like +'0o'. To make calculations in base 2 (binary), you can use +the binary notation like '0b'. + +The following are all equivalent: + 255 == 0xFF == 0o377 == 0b11111111 Number values can't exceed the limits of an integer variable: Any number greater than INT_MAX (2147483647) or smaller than INT_MIN (-2147483648) will -- cgit v1.2.3-70-g09d2 From 554101ef7ff2e4d8e9991b0ef72b38adcbbabec9 Mon Sep 17 00:00:00 2001 From: gumi Date: Sun, 3 May 2020 23:10:59 -0400 Subject: add documentation for the number separators --- doc/script_commands.txt | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'doc') diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 64ba17ab7..a15baf2c2 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -460,6 +460,13 @@ Number values can't exceed the limits of an integer variable: Any number greater than INT_MAX (2147483647) or smaller than INT_MIN (-2147483648) will be capped to those values and will cause a warning to be reported. +Underscores can also be used as visual separators for digit grouping purposes: + 2_147_483_647 + 0x7FFF_FFFF + +Keep in mind that number literals cannot start or end with a separator and no +more than one separator can be used in a row (so 12_3___456 is illegal). + Variables --------- -- cgit v1.2.3-70-g09d2