Sobes.tech
Junior

How much memory do data types like bool, char, short, int, long long, float, and double occupy?

sobes.tech AI

Answer from AI

The size of built-in data types in C and C++ is not strictly fixed by the standard, except for sizeof(char), which is always 1. Other sizes may vary depending on the processor architecture and compiler. However, there are guaranteed minimum ranges of values and typical sizes on most modern systems (e.g., x86-64):

Data Type Minimum Range (C/C++) Typical Size (bytes)
bool Not explicitly defined by the standard 1
char Based on a byte (>= 8 bits) 1
short >= [-32767, +32767] (>= 16 bits) 2
int >= short (>= 16 bits) 4
long long >= [-9223372036854775807, +9223372036854775807] (>= 64 bits) 8
float Single precision (usually IEEE 754) 4
double Double precision (usually IEEE 754) 8

The actual size can be determined using the sizeof operator:

#include <iostream>

int main() {
    std::cout << "sizeof(bool): " << sizeof(bool) << " bytes" << std::endl;
    std::cout << "sizeof(char): " << sizeof(char) << " bytes" << std::endl;
    std::cout << "sizeof(short): " << sizeof(short) << " bytes" << std::endl;
    std::cout << "sizeof(int): " << sizeof(int) << " bytes" << std::endl;
    std::cout << "sizeof(long long): " << sizeof(long long) << " bytes" << std::endl;
    std::cout << "sizeof(float): " << sizeof(float) << " bytes" << std::endl;
    std::cout << "sizeof(double): " << sizeof(double) << " bytes" << std::endl;
    return 0;
}
How much memory do data types like bool, char, short… - sobes.tech