Template:DataTypePlugin: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
(Created page with "{{FixedStart}} ┌───────────────────────────────────────────────────────────────────────────┐ │ Numerical types │ ├──────────────────────┬───────────┬────────────...")
 
No edit summary
Line 1: Line 1:
{{FixedStart}}
{{FixedStart}}
┌───────────────────────────────────────────────────────────────────────────┐
┌───────────────────────────────────────────────────────────────────────────┐
│                              Numerical types                              │
│                              '''Numerical types'''                             │
├──────────────────────┬───────────┬────────────────────────────┬───────────┤
├──────────────────────┬───────────┬────────────────────────────┬───────────┤
│      Type Name      │  Type    │      Minimum value        │  Size in  │
│      '''Type Name'''       │  '''Type'''   │      '''Minimum value'''       │  '''Size in'''
│                      │  suffix  │      Maximum value        │  Bytes  │
│                      │  '''suffix'''   │      '''Maximum value'''       │  '''Bytes'''   │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│        [[_BIT]]        │    `    │                        -1 │    1/8    │
│        [[_BIT]]        │    `    │                        -1 │    1/8    │
Line 54: Line 54:
│                      │          │ 18,446,744,073,709,551,615 │          │
│                      │          │ 18,446,744,073,709,551,615 │          │
├──────────────────────┼───────────┼────────────────────────────┴───────────┤
├──────────────────────┼───────────┼────────────────────────────┴───────────┤
│        [[_MEM]]        │  none    │ An internal [[TYPE]] like memory variable. │
│        [[_MEM]]        │  none    │ '''An internal [[TYPE]] like memory variable.'''
└──────────────────────┴───────────┴────────────────────────────────────────┘
└──────────────────────┴───────────┴────────────────────────────────────────┘
   For the floating-point numeric types [[SINGLE]] (default when not assigned),
   For the floating-point numeric types [[SINGLE]] (default when not assigned),
Line 63: Line 63:


┌───────────────────────────────────────────────────────────────────────────┐
┌───────────────────────────────────────────────────────────────────────────┐
│                                Text types                                │
│                                '''Text types'''                                 │
├──────────────────────┬───────────┬────────────────────────────┬───────────┤
├──────────────────────┬───────────┬────────────────────────────┬───────────┤
│      Type Name      │  Type    │      Minimum value        │  Size in  │
│      '''Type Name'''       │  '''Type'''   │      '''Minimum value'''       │  '''Size in'''
│                      │  suffix  │      Maximum value        │  Bytes  │
│                      │  '''suffix'''   │      '''Maximum value'''       │  '''Bytes'''   │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│        [[STRING]]        │    $    │                          0 │  use [[LEN]]  │
│        [[STRING]]        │    $    │                          0 │  use [[LEN]]  │
Line 74: Line 74:
│                      │          │              2,147,483,647 │          │
│                      │          │              2,147,483,647 │          │
└──────────────────────┴───────────┴────────────────────────────┴───────────┘
└──────────────────────┴───────────┴────────────────────────────┴───────────┘
   While a regular variable length [[STRING]] may have a minimum length of zero
   While a regular variable length [[STRING]] may have a minimum length of '''zero'''
   (empty string), the fixed length string type [[STRING|STRING * n]], where n is an
   (empty string), the fixed length string type [[STRING|STRING * n]], where '''n''' is an
  integer length value, must have a minimum length of at least one character.
  integer length value, must have a minimum length of at least '''one''' character.
{{FixedEnd}}
{{FixedEnd}}

Revision as of 22:35, 5 August 2022

┌───────────────────────────────────────────────────────────────────────────┐
│                              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 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│        SINGLE        │     !     │              -2.802597E-45 │     4     │
│                      │ (or none) │              +3.402823E+38 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│        DOUBLE        │     #     │    -4.490656458412465E-324 │     8     │
│                      │           │    +1.797693134862310E+308 │           │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│        _FLOAT        │    ##     │                -1.18E-4932 │    32     │
│                      │           │                +1.18E+4932 │ (10 used) │
├──────────────────────┼───────────┼────────────────────────────┼───────────┤
│       _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 minimum values represent the smallest values closest
  to zero, while the maximum values represent the largest values closest to
    pos./neg. infinity. _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.