Page:
Primitive Data Types
Clone
35
Primitive Data Types
Karutoh edited this page 2025-11-20 16:31:58 -08:00
Table of Contents
Definitions
- Unsigned Integer: An unsigned integer is a whole number that can only represent non-negative values, meaning zero and positive numbers.
- Signed Integer: A signed integer is a number that can be positive, negative, or zero, unlike an unsigned integer which can only be positive or zero.
Primitive Data Types
| Primitives | Description |
|---|---|
| Integers | |
| UInt_64 | 64-Bit Unsigned Integer |
| UInt_32 | 32-Bit Unsigned Integer |
| UInt_16 | 16-Bit Unsigned Integer |
| UInt_8 | 8-Bit Unsigned Integer |
| SInt_64 | 64-Bit Signed Integer |
| SInt_32 | 32-Bit Signed Integer |
| SInt_16 | 16-Bit Signed Integer |
| SInt_8 | 8-Bit Signed Integer |
| Floating Points | |
| float | A 32-Bit single precision floating point number |
| double | A 64-Bit double precision floating point number |
| long double | A 80-Bit extended precision floating-point number |
| Characters | |
| Char_32 | UTF_32 Character |
| Char_16 | UTF_16 Character |
| Char_8 | UTF_8 Character |
| Misc | |
| Byte | A single byte of data, essentially just a UInt_8 |
Related Macros
| Macros | Description |
|---|---|
| Unsigned Integer | |
| EHS_UINT_64_MAX | The maximum number for a 64-bit unsigned integer. |
| EHS_UINT_32_MAX | The maximum number for a 32-bit unsigned integer. |
| EHS_UINT_24_MAX | The maximum number for a 24-bit unsigned integer. Used mainly in processing 24-bit audio files. |
| EHS_UINT_16_MAX | The maximum number for a 16-bit unsigned integer. |
| EHS_UINT_8_MAX | The maximum number for a 8-bit unsigned integer. |
| Signed Integers | |
| EHS_SINT_64_MAX | The maximum number for a 64-bit unsigned integer. |
| EHS_SINT_64_MIN | The minimum number for a 64-bit unsigned integer. |
| EHS_SINT_32_MAX | The maximum number for a 32-bit unsigned integer. |
| EHS_SINT_32_MIN | The minimum number for a 32-bit unsigned integer. |
| EHS_SINT_24_MAX | The maximum number for a 24-bit unsigned integer. Used mainly in processing 24-bit audio files. |
| EHS_SINT_24_MIN | The minimum number for a 24-bit unsigned integer. Used mainly in processing 24-bit audio files. |
| EHS_SINT_16_MAX | The maximum number for a 16-bit unsigned integer. |
| EHS_SINT_16_MIN | The minimum number for a 16-bit unsigned integer. |
| EHS_SINT_8_MAX | The maximum number for a 8-bit unsigned integer. |
| EHS_SINT_8_MIN | The minimum number for a 8-bit unsigned integer. |
| Floating Points | |
| EHS_LDOUBLE_MAX | The maximum number for a 80-bit double precision floating point. |
| EHS_LDOUBLE_MIN | The minimum number for a 80-bit double precision floating point. |
| EHS_DOUBLE_MAX | The maximum number for a 64-bit double precision floating point. |
| EHS_DOUBLE_MIN | The minimum number for a 64-bit double precision floating point. |
| EHS_FLOAT_MAX | The maximum number for a 32-bit single precision floating point. |
| EHS_FLOAT_MIN | The minimum number for a 32-bit single precision floating point. |
Note: You may notice that the unsigned integers don't have a minimum macro. Because it's zero.
Usage Example
#include <ehs/EHS.h>
#include <ehs/Types.h>
#include <ehs/io/Console.h>
int main()
{
ehs::Initialize("Test", "Test", {0, 0, 0});
ehs::Console::Write_8("Enter a number: ");
const ehs::Str_8 strValue = ehs::Console::Read_8();
if (!strValue.IsNum())
{
return 1;
}
ehs::UInt_64 value = strValue.ToDecimal<ehs::UInt_64>();
while (value != EHS_SINT_64_MAX - 1)
{
ehs::Console::Write_8("Iteration # " + ehs::Str_8::FromNum(value));
if (value != EHS_SINT_64_MAX)
++value;
}
ehs::Console::Write_8("Done!");
ehs::Uninitialize();
return 0;
}
Basics
Input / Output
System
Welcome to the Wiki.