Repository navigation
D) Basic memory
kalinosia edited this page May 20, 2022
·
3 revisions
2^8 = 256
sizeof(char) = 1, czyli 1 bajt = 8 bitów = -128 do 128
sizeof(int) = 4 = sizeof(long) = sizeof(float)
sizeof(long long) = 8 = sizeof(double)
sizeof(long double) = 12
sizeof( POINTER ) = 8 {sizeof(int*)=sizeof(char*)=sizeof(string*) on a 64-bit machine !!! on 32 -> 4
https://en.cppreference.com/w/cpp/language/sizeof
- char Exactly one byte in size. At least 8 bits.
- char16_t Not smaller than char. At least 16 bits.
- char32_t Not smaller than char16_t. At least 32 bits.
- wchar_t Can represent the largest supported character set.
- signed char Same size as char. At least 8 bits.
- signed short int Not smaller than char. At least 16 bits.
- signed int Not smaller than short. At least 16 bits.
- signed long int Not smaller than int. At least 32 bits.
- signed long long int Not smaller than long. At least 64 bits.
- unsigned char (same size as their signed counterparts)
- unsigned short int -||-
- unsigned int -||-
- unsigned long int -||-
- unsigned long long int -||-
- float
- double Precision not less than float
- long double Precision not less than double
| int | 4 | signed | -2,147,483,648 to 2,147,483,647 |
|---|---|---|---|
| unsigned int | 4 | unsigned | 0 to 4,294,967,295 |
| __int8 | 1 | char | -128 to 127 |
| unsigned __int8 | 1 | unsigned char | 0 to 255 |
| __int16 | 2 | short, short int, signed short int | -32,768 to 32,767 |
| unsigned __int16 | 2 | unsigned short, unsigned short int | 0 to 65,535 |
| __int32 | 4 | signed, signed int, int | -2,147,483,648 to 2,147,483,647 |
| unsigned __int32 | 4 | unsigned, unsigned int | 0 to 4,294,967,295 |
| __int64 | 8 | long long, signed long long | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
| unsigned __int64 | 8 | unsigned long long | 0 to 18,446,744,073,709,551,615 |
| bool | 1 | none | false or true |
| char | 1 | none | -128 to 127 by default 0 to 255 when compiled by using /J |
| signed char | 1 | none | -128 to 127 |
| unsigned char | 1 | none | 0 to 255 |
| short | 2 | short int, signed short int | -32,768 to 32,767 |
| unsigned short | 2 | unsigned short int | 0 to 65,535 |
| long | 4 | long int, signed long int | -2,147,483,648 to 2,147,483,647 |
| unsigned long | 4 | unsigned long int | 0 to 4,294,967,295 |
| long long | 8 | none (but equivalent to __int64) | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
| unsigned long long | 8 | none (but equivalent to unsigned __int64) | 0 to 18,446,744,073,709,551,615 |
| enum | varies | none | |
| float | 4 | none | 3.4E +/- 38 (7 digits) |
| double | 8 | none | 1.7E +/- 308 (15 digits) |
| long double | same as double | none | Same as double |
| wchar_t | 2 | __wchar_t | 0 to 65,535 |

