Template:DataTypePlugin: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{FixedStart}}
{{FixedStart}}
         '''Table 1: The variable types supported by the QB64 language.'''
         Table 1: The variable types supported by the QB64 language.
┌───────────────────────────────────────────────────────────────────────────┐
┌───────────────────────────────────────────────────────────────────────────┐
│                              '''Numerical types'''                              │
│                              '''Numerical types'''                              │
Line 40: Line 40:
│                      │          │ 18,446,744,073,709,551,615 │          │
│                      │          │ 18,446,744,073,709,551,615 │          │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│        [[SINGLE]]        │     !                 -2.802597E-45 │    4    │
│                      │          │              -3.402823E+38 │          │
│                      │ (or none) │              +3.402823E+38 │          │
│        [[SINGLE]]        │ ! or none               1.175494E-38 │    4    │
│                      │           │              +3.402823E+38 │          │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│        [[DOUBLE]]        │    #    │   -4.490656458412465E-324 │    8    │
│                      │          │    -1.797693134862315D+308 │          │
│                      │          │    +1.797693134862310E+308 │          │
│        [[DOUBLE]]        │    #    │     2.225073858507201D-308 │    8    │
│                      │          │    +1.797693134862315D+308 │          │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│        [[_FLOAT]]        │    ##    │               -1.18E-4932 │    32    │
│                      │          │-1.189731495357231765F+4932 │          │
│                      │          │               +1.18E+4932 │ (10 used)
│        [[_FLOAT]]        │    ##    │ 3.362103143112093506F-4932 │    32    │
│                      │          │+1.189731495357231765F+4932 │          
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│      [[_OFFSET]]        │    %&    │ -9,223,372,036,854,775,808 │  use [[LEN]]  │
│      [[_OFFSET]]        │    %&    │ -9,223,372,036,854,775,808 │  use [[LEN]]  │
Line 58: Line 61:
└──────────────────────┴───────────┴────────────────────────────────────────┘
└──────────────────────┴───────────┴────────────────────────────────────────┘
   For the floating-point numeric types [[SINGLE]] (default when not assigned),
   For the floating-point numeric types [[SINGLE]] (default when not assigned),
[[DOUBLE]] and [[_FLOAT]], the minimum values represent the smallest values closest
[[DOUBLE]] and [[_FLOAT]], the middle values represent the smallest possible fraction,
  to zero, while the maximum values represent the largest values closest to
  while the min./max. values above and below represent the limits of the
    pos./neg. infinity. [[_OFFSET]] dot values are used as a part of the [[_MEM]]
  possible number range. [[_OFFSET]] dot values are used as a part of the [[_MEM]]
       variable type in QB64 to return or set the position in memory.
       variable type in QB64 to return or set the position in memory.



Latest revision as of 20:24, 19 November 2024

         Table 1: The variable types supported by the QB64 language.
┌───────────────────────────────────────────────────────────────────────────┐
│                              Numerical types                              │
├──────────────────────┬───────────┬────────────────────────────┬───────────┤
│      Type NameTypeMinimum valueSize in  │
│                      │  suffixMaximum valueBytes   │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│         _BIT         │     `     │                         -1 │    1/8    │
│                      │           │                          0 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│       _BIT * n       │    `n     │                       -128 │    n/8    │
│                      │           │                        127 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│    _UNSIGNED _BIT    │    ~`     │                          0 │    1/8    │
│                      │           │                          1 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│        _BYTE         │    %%     │                       -128 │     1     │
│                      │           │                        127 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│   _UNSIGNED _BYTE    │    ~%%    │                          0 │     1     │
│                      │           │                        255 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│       INTEGER        │     %     │                    -32,768 │     2     │
│                      │           │                     32,767 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│  _UNSIGNED INTEGER   │    ~%     │                          0 │     2     │
│                      │           │                     65,535 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│         LONG         │     &     │             -2,147,483,648 │     4     │
│                      │           │              2,147,483,647 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│    _UNSIGNED LONG    │    ~&     │                          0 │     4     │
│                      │           │              4,294,967,295 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│      _INTEGER64      │    &&     │ -9,223,372,036,854,775,808 │     8     │
│                      │           │  9,223,372,036,854,775,807 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│ _UNSIGNED _INTEGER64 │    ~&&    │                          0 │     8     │
│                      │           │ 18,446,744,073,709,551,615 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│                      │           │              -3.402823E+38 │           │
│        SINGLE        │ ! or none │               1.175494E-38 │     4     │
│                      │           │              +3.402823E+38 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│                      │           │    -1.797693134862315D+308 │           │
│        DOUBLE        │     #     │     2.225073858507201D-308 │     8     │
│                      │           │    +1.797693134862315D+308 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│                      │           │-1.189731495357231765F+4932 │           │
│        _FLOAT        │    ##     │ 3.362103143112093506F-4932 │    32     │
│                      │           │+1.189731495357231765F+4932 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│       _OFFSET        │    %&     │ -9,223,372,036,854,775,808 │  use LEN  │
│                      │           │  9,223,372,036,854,775,807 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│  _UNSIGNED _OFFSET   │    ~%&    │                          0 │  use LEN  │
│                      │           │ 18,446,744,073,709,551,615 │           │
├──────────────────────┼───────────┼────────────────────────────┴───────────┤
│         _MEM         │   none    │ An internal TYPE like memory variable. │
└──────────────────────┴───────────┴────────────────────────────────────────┘
  For the floating-point numeric types SINGLE (default when not assigned),
DOUBLE and _FLOAT, the middle values represent the smallest possible fraction,
   while the min./max. values above and below represent the limits of the
  possible number range. _OFFSET dot values are used as a part of the _MEM
       variable type in QB64 to return or set the position in memory.

┌───────────────────────────────────────────────────────────────────────────┐
│                                Text types                                 │
├──────────────────────┬───────────┬────────────────────────────┬───────────┤
│      Type NameTypeMinimum valueSize in  │
│                      │  suffixMaximum valueBytes   │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│        STRING        │     $     │                          0 │  use LEN  │
│                      │           │              2,147,483,647 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│      STRING * n      │    $n     │                          1 │     n     │
│                      │           │              2,147,483,647 │           │
└──────────────────────┴───────────┴────────────────────────────┴───────────┘
  While a regular variable length STRING may have a minimum length of zero
   (empty string), the fixed length string type STRING * n, where n is an
 integer length value, must have a minimum length of at least one character.