Czym różni się typ int
od signed int
, albo signed char
od char
?
0
1
int jest signed intem
a o charze wiecej tutaj
https://stackoverflow.com/questions/16503373/difference-between-char-and-signed-char-in-c
2
signed int
nie różni się od int
obydwa przechowują liczby ze znakiem, powiedzmy od -(2^32) do 2^(32 - 1); deklarując int
masz domyślnie signed int
. W odróżnieniu od unsigned
, który operuje na innym przedziale liczbowym.
Co do char
, w C++ jest to typ liczbowy, jak inne, więc deklaracja signed
albo unsigned
zmienia zakres. Ale.., jeśli stosujemy char
, jako zmienną mającą przechowywać znaki (ASCII jest od 0 do 127), to używamy char
- mamy pewność, że wszystko tam będzie. Natomiast signed char
zawiera wartości od -127 do 127, a unsigned
od 0 do 255. Czyli tak jak podkreślono powyżej, to trzy różne typy.