Typy danych w języku C++


Podrozdziały Tematy pokrewne

 

Typy całkowite

Liczby bez znaku

unsigned short int, unsigned short

2-bajtowa (16 bitów) liczba całkowita bez znaku w naturalnym kodzie dwójkowym.
Zakres od 0 do 216 - 1 (65535).

 

unsigned int, unsigned

4-bajtowa (32 bity) liczba całkowita bez znaku w naturalnym kodzie dwójkowym.
Zakres od 0 do 232 - 1 (4294967295).

 

unsigned long int, unsigned long

4-bajtowa (32 bity) liczba całkowita bez znaku w naturalnym kodzie dwójkowym.
Zakres od 0 do 232 - 1 (4294967295).

 

unsigned long long int, unsigned long long

8-bajtowa (64-bity) liczba całkowita bez znaku w naturalnym kodzie dwójkowym.
Zakres od 0 do 264 - 1 (18446744073709551615).

 

Liczby ze znakiem

short, short int, signed short

2-bajtowa (16 bitów) liczba całkowita ze znakiem w kodzie uzupełnieniowym do 2 - U2.
Zakres od -215 (-32768) do 215 - 1 (32767).

 

int, signed int, signed

4-bajtowa liczba całkowita ze znakiem w kodzie U2 (32 bity).
Zakres od -231 (-2147483648) do 231 - 1 (2147483647).

 

long, signed long int, signed long

4-bajtowa liczba całkowita ze znakiem w kodzie U2 (32 bity).
Zakres od -231 (-2147483648) do 231 - 1 (2147483647).

 

long long, long long int, signed long long, signed long long int

8-bajtowa liczba całkowita ze znakiem w kodzie U2 (64 bity).
Zakres od -263 (-9223372036854775808) do 263 - 1 (9223372036854775807).

 

Podsumowanie

Typy całkowite
bez znaku - NBC ze znakiem - U2
unsigned short int 2B - 16b Zakres 0...216 - 1 short int 2B - 16b Zakres -215 ...215 - 1
unsigned int
unsigned long int
4B - 32b Zakres 0...232 - 1 int
long int
4B - 32b Zakres - 231...231-1
unsigned long long int 8B - 64b Zakres 0...264 - 1 long long int 8B - 64b Zakres -263...263-1

 

Typy zmiennoprzecinkowe

Obecnie wszystkie procesory komputerów IBM są zintegrowane wewnętrznie z koprocesorem arytmetycznym, który sprzętowo (zatem bardzo szybko) wykonuje złożone operacje na liczbach zmiennoprzecinkowych. Podstawowe typy danych zmiennoprzecinkowych odpowiadają bezpośrednio typom danych, które obsługuje koprocesor. Koprocesor arytmetyczny pracuje w standardzie IEEE 754.

float

32-bitowa liczba zmiennoprzecinkowa o pojedynczej precyzji w standardzie IEEE 754 (4 bajty).
Zakres od - 3,4 × 1038 do 3,4 × 1038. Precyzja około 7 cyfr znaczących.

 

double

64-bitowa liczba zmiennoprzecinkowa o podwójnej precyzji w standardzie IEEE 754 (8 bajtów).
Zakres od - 1,8 × 10308 do 1,8 × 10308. Precyzja około 15...16 cyfr znaczących.

 

long double

Jest to wewnętrzny tym reprezentacji liczb zmiennoprzecinkowych w koprocesorze arytmetycznym. Aby zminimalizować błędy obliczeniowe koprocesor wykonuje wewnętrznie obliczenia na rozszerzonym formacie do 80-bitów. Dzięki temu wzrasta zakres oraz precyzja przetwarzanych liczb. Koprocesor po wykonaniu obliczeń automatycznie przelicza wynik z typu extended na typ single lub double.

80-bitowa liczba zmiennoprzecinkowa o rozszerzonej precyzji w standardzie IEEE 754 (10-bajtów).
Zakres od -1,1 × 104932 do 1,1 × 104932. Precyzja około 19...20 cyfr znaczących.

 

Informacje na temat typu extended znajdziesz w rozdziale opisującym standard IEEE 754.

 

Podsumowanie

Typy zmiennoprzecinkowe koprocesora arytmetycznego
float 32b - 4B Zakres ±3,4 × 1038 Precyzja 7...8 cyfr
double 64b - 8B Zakres ±1,8 × 10308 Precyzja 15...16 cyfr
long double 80b - 10B Zakres ±1,1 × 104932 Precyzja 19...20cyfr

 

Typy znakowe

char

Typ znakowy reprezentowany w pamięci komputera przez 1 bajt (8 bitów). Może przechowywać kod jednego znaku ASCII. Kod znaku interpretowany jest jako liczba całkowita ze znakiem w kodzie U2. Wartości dodatnie od 0 do 127 odnoszą się do znaków z podstawowego zestawu ASCII. Wartości ujemne od -1 do -128 określają kody rozszerzonego zestawu ASCII. W wyrażeniach arytmetycznych zmienne typu char zachowują się jak 8-mio bitowe liczby U2.

 

signed char

Dokładnie to samo, co typ char.

 

unsigned char

Typ znakowy reprezentowany w pamięci komputera przez 1 bajt (8 bitów). Przechowuje kod ASCII jednego znaku traktowany jako liczba całkowita bez znaku. W tym przypadku kody mogą przyjmować wartości od 0 do 255. W wyrażeniach zmienna typu unsigned char jest traktowana jak 8-mio bitowa liczba NBC.

 

Typy znakowe mogą tworzyć tablice umożliwiające przechowywanie ciągu znaków. Temat jest bardzo szeroki i wymaga osobnego artykułu.

 

Typy logiczne

bool

Typ logiczny, który może przyjmować dwie wartości: true lub false. W pamięci zajmuje 1 bajt (8 bitów). Jeśli typ bool przekształcimy za pomocą rzutowania na typ liczbowy, to wartość true będzie równa 1, a false będzie równa 0. Z kolei zrzutowanie wartości liczbowej na typ logiczny bool daje wartość true, jeśli wynik jest różny od zera i false jeśli jest równy 0.

 

00000000(BOOL) = false
00000001(BOOL) = true

 



List do administratora Serwisu Edukacyjnego Nauczycieli I LO

Twój email: (jeśli chcesz otrzymać odpowiedź)
Temat:
Uwaga: ← tutaj wpisz wyraz  ilo , inaczej list zostanie zignorowany

Poniżej wpisz swoje uwagi lub pytania dotyczące tego rozdziału (max. 2048 znaków).

Liczba znaków do wykorzystania: 2048

 

W związku z dużą liczbą listów do naszego serwisu edukacyjnego nie będziemy udzielać odpowiedzi na prośby rozwiązywania zadań, pisania programów zaliczeniowych, przesyłania materiałów czy też tłumaczenia zagadnień szeroko opisywanych w podręcznikach.



   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2017 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.