Different types of integers are available in WLanguage

Value included between

Integer

-2 x 10^{9} and 2 x 10^{9} (roughly)

Example:

i is int i = 5

1-byte integer

-128 and 127 (inclusive)

Example:

i is 1-byte int

This type of variable will be automatically converted into Integer.

This type of variable will be automatically converted into Integer.

Versions 23 and later

The 1-byte Integer variables are now available.

New in version 23

The 1-byte Integer variables are now available.

The 1-byte Integer variables are now available.

2-byte integer

-32.768 and 32.767 (inclusive)

Example:

I is 2-byte int

This type of variable will be automatically converted into Integer.

This type of variable will be automatically converted into Integer.

Versions 23 and later

The 2-byte Integer variables are now available.

New in version 23

The 2-byte Integer variables are now available.

The 2-byte Integer variables are now available.

4-byte integer

-2 x 10^{9} and 2 x 10^{9} (roughly)

Example:

i is 4-byte int

8-byte integer

-9 x 10^{18} and 9 x 10^{18} (roughly)

Example:

i is 8-byte int

Unsigned integer

0 and 4 x 10^{9}

Example:

i is unsigned int

This type of variable will be automatically converted into Integer.

Versions 16 and later Byte

New in version 16 Byte

Byte

0 and 255 (inclusive) This type is equivalent to the unsigned 1-byte integer.

Example:

i is byte

This type of variable will be automatically converted into Integer.

Unsigned 1-byte integer

0 and 255 (inclusive)

Example:

i is unsigned 1-byte int

This type of variable will be automatically converted into Integer.

Unsigned 2-byte integer

0 and 65.535 (inclusive)

Example:

i is unsigned 2-byte int

This type of variable will be automatically converted into Integer.

Unsigned 4-byte integer

0 and 4 x 10^{9 }(roughly)

Example:

i is unsigned 4-byte int

This type of variable will be automatically converted into Integer.

Unsigned 8-byte integer

0 and 18 x 10^{18}

Example:

i is unsigned 8-byte int

This type of variable will be automatically converted into Integer.

System integer

automatically adapts to the size supported by the compilation mode (4 bytes for a program compiled in 32 bits, 8 bytes for a program compiled in 64 bits).

Example:

i is system int

Versions 22 and later

Remark: SystemIntegerToInteger is used to convert a system integer into a 4-byte integer.

New in version 22

Remark: SystemIntegerToInteger is used to convert a system integer into a 4-byte integer.

Remark: SystemIntegerToInteger is used to convert a system integer into a 4-byte integer.

The exact values for these different types of integers can be found in the Limits.wl file found in the Personal\External sub-directory of the setup directory of WINDEV, WEBDEV and WINDEV Mobile.

Remark: All the advanced types (different from the "Integer" type) are recommended when using the Windows APIs.

Notes

Default value

An "Integer" variable that is declared but not initialized is equal to 0.

Hexadecimal value

To enter an hexadecimal value in the code, the hexadecimal value must be prefixed by "0x".

MyVariable is int MyVariable = 0x4D5

Versions 23 and later Remark: The '_' character can be used as block separator in the hexadecimal numbers. The blocks can have a size equal to 2, 4 or 8 characters long. Example:

Nb1 is int = 0x_12_15_A4_BC Nb2 is int = 0x_CD4A_DE58

New in version 23 Remark: The '_' character can be used as block separator in the hexadecimal numbers. The blocks can have a size equal to 2, 4 or 8 characters long. Example:

Nb1 is int = 0x_12_15_A4_BC Nb2 is int = 0x_CD4A_DE58

Remark: The '_' character can be used as block separator in the hexadecimal numbers. The blocks can have a size equal to 2, 4 or 8 characters long. Example:

Nb1 is int = 0x_12_15_A4_BC Nb2 is int = 0x_CD4A_DE58

Versions 23 and later

Thousand separator

You can use spaces and underscore characters to separate thousands in numbers. For example:

num1 is int num1 = 123 456 let num2 = 246_789

New in version 23

Thousand separator

You can use spaces and underscore characters to separate thousands in numbers. For example:

num1 is int num1 = 123 456 let num2 = 246_789

Thousand separator

You can use spaces and underscore characters to separate thousands in numbers. For example:

num1 is int num1 = 123 456 let num2 = 246_789

Specific features of PHP

Numbers (real, integer, currency, numeric) cannot exceed 14 significant digits in PHP. If they exceed this limit, they are rounded to 14 digits.

The integers in 32 bits have for maximum value: 2147483647 for 32 bits <=> 0x7FFFFFFF

The integers in 64 bits have for maximum value: 9223372036854775807<=>0x7FFFFFFFFFFFFFFF

Differences between WINDEV 5.5 and WINDEV 25

The types of integers have been modified between WINDEV 5.5 and WINDEV 25:

Type of integers in WINDEV 5.5

Type of integers in WINDEV 25

Integer

2-byte integer

Unsigned integer

Unsigned 2-byte integer

Long integer

4-byte integer

Short integer

Unsigned 1-byte integer

In WINDEV 5.5, integers were 2-byte integers by default. Since the versions 7.x, integers are 4-byte integers by default.