Programowanie w języku C/C++

Unsigned

unsigned - to słowo zastrzeżone kompilatora i nie można go używać w nazwach funkcji, stałych i zmiennych. Oznacza ono, że dana wartość nie może być ujemna (dosłownie z ang. nieoznaczona, czyli bez znaku minus). Ilość zajmowanej przez nią pamięci nie zmienia się, ale zakres wartości jest sumą zakresu ujemnego i dodatniego, czyli np.: zakres od -459 do 459 → od 0 do 918.
Niektóre typy są domyślnie powiązane ze słowem unsigned jak char, czyli zamiast pisać
unsigned char zmienna ;

to można krócej, bo kompilatorowi wszystko jedno
char zmienna ;

2 komentarze

komputer098 2008-07-31 19:44

dobra, totalnie spaliłem tego arta...

Intelli 2008-07-31 15:20

Niby trywialne zagadnienie, a bzdura bzdurą pogania. Po pierwsze niemożliwy jest zakres od -459 do 459. Jak już, to -459 do 458, któremu w unsigned odpowiadałby zakres 0 do 917 (a nie do 918). Tak czy owak, cały przykład jest do chrzanu, bo to nie są potęgi dwójki. Prawidłowy przykład to od -128 do 127, co odpowiada zakresowi od 0 do 255.
Druga bzdura - char w C i C++ jest typem signed! Tak więc unsigned char i char to nie jest to samo!
char a = -5; if(a < 0) printf("CHAR jest typem znakowanym!\n");
Se skompiluj i się przekonaj.
Słowa unsigned jak najbardziej można używać w nazwach funkcji, stałych i zmiennych.
unsigned int unsigned_function();
unsigned int unsigned_variable;
Słowa 'unsigned' nie można używać jako nazwy funkcji, stałej, zmiennej, klasy i typu.