Zaczynamy „Kurs D” – Typy danych

Chciałbym rozpocząć cykl wpisów na temat języka D. Na początek przyjrzyjmy się dostępnym w D typom danych. W tabelce poniżej przedstawię typy wraz z ich wartościami inicjalizacyjnymi i rozmiarem w pamięci.

Typ danych: Rozmiar: Init value:
void
bool 2 bity false
byte 8 bitów ze znakiem (signed) 0
ubyte 8 bitów bez znaku (unsigned) 0
short 16 bitów ze znakiem (signed) 0
ushort 16 bitów bez znaku (unsigned) 0
int 32 bity ze znakiem (signed) 0
uint 32 bity bez znaku (unsigned) 0
long 64 bity ze znakiem (signed) 0L
ulong 64 bity ze znakiem (signed) 0L
cent 128 bitów bez znaku (unsigned) 0
ucent 128 bitów bez znaku (unsigned) 0
float 32 bity float.nan
double 64 bity double.nan
real Największa dostępna sprzętowo real.nan
ifloat 32 bity float.nan * 1.0i
idouble 64 bity double.nan * 1.0i
ireal Największa dostępna sprzętowo real.nan * 1.0i
cfloat 32 bity float.nan + float.nan * 1.0i
cdouble 64 bity double.nan + double.nan * 1.0i
creal Największa dostępna sprzętowo real.nan + real.nan * 1.0i
char 8 bitów bez znaku (unsigned) 0xFF
wchar 16 bitów bez znaku (unsigned) 0xFFFF
dchar 32 bity bez znaku (unsigned) 0x0000FFFF

Jak widzimy cfloat, cdouble i creal służą do przechowywania licz zespolonych. Typy ifloat, idouble i ireal przechowują liczby urojone. Typy real zajmują największą możliwą na danym procesorze liczbę bitów (dla procesorów Intela 80 bitów). Typ char zapisujemy w UTF-8, typ wchar w UTF-16 a typ dchar w UTF-32. To chyba byłoby na tyle jeśli chodzi o typy danych. Jeśli czegoś Wam brakuje prosze o request w komentarzu – na pewno uzupełnię ;]

Leave a Reply

Your email address will not be published.