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