C++-ban miért van signed char és unsigned char? Mikor használjuk őket?





De igen, értem. Csak azt hittem, hogy van valami egyéb módja, hogy cinnel többjegyű számokat kérhessünk be egy karakter változó értékeként. Erre már én is gondoltam, hogy kell egy köztes int változó, de azt hittem, hogy van valami egyszerűbb módja, amiről én nem tudok.
De nagyon köszi az alapos válaszokat!
Bár ez még így sem jó. Ugyanúgy betűként írja ki az eredményt.
#include <iostream>
using namespace std;
int main() {
unsigned char a;
signed char b;
int c;
cin >> c;
a = (unsigned char) c;
cin >> c;
b = (signed char) c;
cout << a << b << endl;
return 0;
}





Mert a cout a char-t betűként írja ki.
Attól még szám van benne.
Akkor végül a megoldás. Már ha érdekel valakit.
#include <iostream>
using namespace std;
int main() {
unsigned char a = 120;
signed char b = 100;
int c;
cin >> c;
a = c;
cin >> c;
b = c;
cout << static_cast<int> (a) << static_cast<int> (b) << endl;
return 0;
}










Már leírták hol jó ez.
Ha nagyon szűkös a memória, ami manapság nem jellemző, csak nagyon speciális területeken.
Az 1 bájtos számok pedig tényleg nagyon kicsik, ritkán van gyakorlati hasznuk.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!