Jak sprawdzić przydział pamięci dla liczb całkowitych w C++?

Ile pamięci zajmuje konkretny typ danych całkowitoliczbowy w C++?  Dla poszczególnych platform może być on inny .

Aby szybko to sprawdzić, wystarczy skorzystać z pliku nagłówkowego climits dostarczającego stałe odczytujące takie informacje. Poniższy przykład wykorzystuje te stałe oraz funkcję sizeof do pobrania liczby bajtów dla danych typów danych.

#include <iostream>
#include <climits> 
using namespace std;

int main()
{
short short_max = SHRT_MAX;
int int_max = INT_MAX;
long long_max = LONG_MAX;
long long llong_max = LLONG_MAX;

    cout << "Zmienne calkowite dla Windows 7 64-bit:\n";
cout << "- short od " << SHRT_MIN <<  " do " << SHRT_MAX
     << ", bajtow: " << sizeof short_max << endl;
cout << "- int od " << INT_MIN <<  " do " << INT_MAX
     << ", bajtow: " << sizeof int_max << endl;
cout << "- long od " << LONG_MIN <<  " do " << LONG_MAX
     << ", bajtow: " << sizeof long_max << endl;
cout << "- long long od " << LLONG_MIN <<  " do " << LLONG_MAX
     << ", bajtow: " << sizeof llong_max << endl<< endl;

    cout << "Zmienne calkowite bezznakowe dla Windows 7 64-bit:\n";
cout << "- unsigned short max " << USHRT_MAX << endl;
cout << "- unsigned int max " << UINT_MAX << endl;
cout << "- unsigned long max " << ULONG_MAX << endl;
cout << "- unsigned long long max " << ULLONG_MAX << endl<< endl;
    cout << "liczba bitow dla CHAR: " << CHAR_BIT;
  return 0;
}

A oto wynik uruchomienia programu dla systemu operacyjnego Windows 7 64-bit:

qq4

Leave a Reply

Twój adres email nie zostanie opublikowany.