I was under the impression that both would be set to different values but all three of these things are outputting the exact same character. Is there some kind of implicit conversion going on or what?
unsigned char unsc1 = 128;
std::cout << "Unsigned Char 1 = " << unsc1 << std::endl;
signed char sc1 = 128;
std::cout << "Signed Char 1 = " << sc1 << std::endl;
char c1 = 128;
std::cout << "Char 1 = " << c1 << std::endl;
The same thing happens when both are set to 254, it was my understanding that a signed variable type shouldn't be able to hold as much data as one that was unsigned.