Int
int -jeden z podstawowych typów danych języka C/C++.
Dane typu int mogą przechowywać jedynie liczby całkowite. Za pomocą specyfikatora signed lub unsigned określa się, czy mają to być liczby ze znakiem (ujemne i nieujemne), czy liczby bez znaku (jedynie nieujemne). Specyfikator piszemy przed słowem "int".Gdy nie użyjemy żadnego, kompilator przyjmie domyślnie, że dana typu int może przechowywać wartości ze znakiem (signed).
A więc poniższy zapis:
jest równoważny takiemu:
zmienna może w obu przypadkach przyjmować wartości zarówno nieujemne, jak i ujemne.
Natomiast, gdy napiszemy:
zmienna wiek może przyjmować jedynie wartości które są nieujemne.
Ważne jest aby pamiętać że typ int jest typem całkowitym. Oznacza to, że przy wykonaniu poniższej operacji:
w rzeczywistości zmiennej "a" zostanie przypisana część całkowita(przed kropką), a część ułamkowa zostanie potraktowana tak jakby jej nie było. Tak więc liczba 1.9 nie zostanie zaokrąglona do 2. Czyli w powyższym przykładzie zmienna "a" będzie przechowywać wartość 1. Podobnie gdy wykonuje się operacje arytmetyczne np.:
zmienna "a" będzie miała wartość 3.
W zależności od kompilatora dane typu int zajmują 2 lub 4 bajty, czyli 16 lub 32 bity. A więc mogą przyjmować 2^16=65536 lub 2^32=4294967296 różnych wartości. Jest przyjęte że typ int nie może zajmować więcej bajtów niż long i mniej niż short, a więc klasyfikuje się w przedziale:
Istnieje możliwość sprawdzenia ile bajtów zajmuje typ danych służy do tego funkcja sizeof();
Dane typu int(1) bez znaku mogą przechowywać liczby całkowite z zakresu <0; 65535>,a więc 65536 różnych wartości.
Dane typu int(1) ze znakiem mogą przechowywać liczby całkowite z zakresu <-32768; 32768>, a więc również 65536 różnych wartości.
(1) dla danej zajmujące 2 bajty.
Tak, więc signed i unsigned informuje kompilator w jaki sposób mają być traktowane dane typu int. Polega to na tym, że w pierwszym przypadku(signed) najstarszy bit określa, czy dana jest liczbą dodatnią (gdy ma wartość 0), czy ujemną (gdy ma wartość 1). W drugim przypadku(unsigned) najstarszy bit jest traktowany jak wszystkie inne.
Dane typu int mogą przechowywać jedynie liczby całkowite. Za pomocą specyfikatora signed lub unsigned określa się, czy mają to być liczby ze znakiem (ujemne i nieujemne), czy liczby bez znaku (jedynie nieujemne). Specyfikator piszemy przed słowem "int".Gdy nie użyjemy żadnego, kompilator przyjmie domyślnie, że dana typu int może przechowywać wartości ze znakiem (signed).
A więc poniższy zapis:
jest równoważny takiemu:
int wiek;
zmienna może w obu przypadkach przyjmować wartości zarówno nieujemne, jak i ujemne.
Natomiast, gdy napiszemy:
zmienna wiek może przyjmować jedynie wartości które są nieujemne.
Ważne jest aby pamiętać że typ int jest typem całkowitym. Oznacza to, że przy wykonaniu poniższej operacji:
w rzeczywistości zmiennej "a" zostanie przypisana część całkowita(przed kropką), a część ułamkowa zostanie potraktowana tak jakby jej nie było. Tak więc liczba 1.9 nie zostanie zaokrąglona do 2. Czyli w powyższym przykładzie zmienna "a" będzie przechowywać wartość 1. Podobnie gdy wykonuje się operacje arytmetyczne np.:
zmienna "a" będzie miała wartość 3.
W zależności od kompilatora dane typu int zajmują 2 lub 4 bajty, czyli 16 lub 32 bity. A więc mogą przyjmować 2^16=65536 lub 2^32=4294967296 różnych wartości. Jest przyjęte że typ int nie może zajmować więcej bajtów niż long i mniej niż short, a więc klasyfikuje się w przedziale:
short<=int<=long
Istnieje możliwość sprawdzenia ile bajtów zajmuje typ danych służy do tego funkcja sizeof();
Dane typu int(1) bez znaku mogą przechowywać liczby całkowite z zakresu <0; 65535>,a więc 65536 różnych wartości.
Dane typu int(1) ze znakiem mogą przechowywać liczby całkowite z zakresu <-32768; 32768>, a więc również 65536 różnych wartości.
(1) dla danej zajmujące 2 bajty.
Tak, więc signed i unsigned informuje kompilator w jaki sposób mają być traktowane dane typu int. Polega to na tym, że w pierwszym przypadku(signed) najstarszy bit określa, czy dana jest liczbą dodatnią (gdy ma wartość 0), czy ujemną (gdy ma wartość 1). W drugim przypadku(unsigned) najstarszy bit jest traktowany jak wszystkie inne.


