﻿﻿ INTEGER - QB64 Wiki

# INTEGER

Jump to: navigation, search

INTEGER is a 2 byte number type definition that can hold whole numerical values.

DIM variable AS INTEGER

• Integers do not use decimal point values but will round those off to the nearest even whole number.
• Qbasic Integer values can range from -32768 to 32767 without an "overflow" error.
• For larger Integer values Qbasic can use the LONG Integer values.
• QB64 INTEGER values greater than 32767 may become negative signed values as the top bit designates a negative value.
• QB64 _UNSIGNED Integers can range from 0 to 65535.
• QB64 _UNSIGNED _INTEGER64 values range from 0 to 18446744073709551615
• Many Graphic programs require INTEGER arrays or DEFINT.
• Variable type suffix is % or ~% for _UNSIGNED. Suffix can also be placed after a literal or hexadecimal numerical value.
• LONG integers use the & suffix and _INTEGER64 use the && suffix.
• Values can be converted to 2 byte ASCII string values using MKI\$ and back with CVI.
• When a variable has not been assigned or has no type suffix, the value defaults to SINGLE.
• Warning: Qbasic keyword names cannot be used as numerical variable names with or without the type suffix!

Example 1: Qbasic signed integers were limited from -32768 to 32767, but could not exceed 32767 or it would error:

DO: _LIMIT 2000 i% = i% + 1 PRINT i% LOOP UNTIL i% = 0

Explanation: In QB64 the count will go to 32767, then count up from -32768 to 0 before repeating the process without error.

Example 2: When a signed QB64 INTEGER value exceeds 32767, the value may become a negative value:

i% = 38000 PRINT i%

-27536

Explanation: Use an _UNSIGNED INTEGER or a ~% variable type suffix for only positive integer values up to 65535.

Example 3: In QB64 _UNSIGNED INTEGER values greater than 65535 cycle over again from zero:

i~% = 70000 PRINT i~%

4464

Explanation: In QB64 an unsigned integer value of 65536 would be 0 with values increasing by the value minus 65536.

See also:

Navigation:
Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page