Sobes.tech
Junior

Bool, char, short, int, long long, float ve double gibi veri tipleri ne kadar bellek kaplar?

sobes.tech yapay zeka

AI'dan gelen yanıt

C ve C++ dilinde gömülü veri tiplerinin boyutu, standart tarafından kesinlikle belirlenmemiştir, sizeof(char) hariç, bu her zaman 1'e eşittir. Diğer boyutlar, işlemci mimarisi ve derleyiciye bağlı olarak değişebilir. Ancak, çoğu modern sistemde (örneğin, x86-64) minimum garantili aralıklar ve tipik boyutlar vardır:

Veri Tipi Minimum Aralık (C/C++) Yaygın Boyut (bayt)
bool Standart tarafından açıkça tanımlanmamış 1
char Bir bayt (>= 8 bit) 1
short >= [-32767, +32767] (>= 16 bit) 2
int >= short (>= 16 bit) 4
long long >= [-9223372036854775807, +9223372036854775807] (>= 64 bit) 8
float Tek hassasiyet (genellikle IEEE 754) 4
double Çift hassasiyet (genellikle IEEE 754) 8

Gerçek boyut, sizeof operatörü kullanılarak belirlenebilir:

#include <iostream>

int main() {
    std::cout << "sizeof(bool): " << sizeof(bool) << " bayt" << std::endl;
    std::cout << "sizeof(char): " << sizeof(char) << " bayt" << std::endl;
    std::cout << "sizeof(short): " << sizeof(short) << " bayt" << std::endl;
    std::cout << "sizeof(int): " << sizeof(int) << " bayt" << std::endl;
    std::cout << "sizeof(long long): " << sizeof(long long) << " bayt" << std::endl;
    std::cout << "sizeof(float): " << sizeof(float) << " bayt" << std::endl;
    std::cout << "sizeof(double): " << sizeof(double) << " bayt" << std::endl;
    return 0;
}