У меня похожая проблема, о которой упоминал этот парень
C ++: получение случайных отрицательных значений при преобразовании char в int
, но я просто хочу знать, какчтобы решить проблему и код не должен становиться более медленным.Я приветствую все предложения.
Я пытался сделать char как unsigned char, но это не сработало, затем я попытался использовать этот код:
const char char_max = (char)(((unsigned char) char(-1)) / 2);
c = (num & char_max);
, но вывод был другим, и я неточно знаю, что делает этот код.
Я все еще студент.
cout << "\nEnter any string : ";
cin >> s1;
for (char& c : s1)
{
num = c;
num= (num+rand())%256;
// const char char_max = (char)(((unsigned char) char(-1)) / 2);
//c = (num & char_max)
c = num;
}
cout <<"\n"<< s1;
Я ожидаю, что c будет иметь нормальные значения ASCII, чтобы я мог использовать его обратно для получения исходного значения int
Спасибо !!