Mail.ruПочта0Мой Мир0ОдноклассникиВКонтактеИгры0ЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

как преобразовать char в int

саша саша Ученик (105), закрыт 12 лет назад
столкнулся с такой проблемой - мне в С++ надо преобразовать тип char в тип int, но, теми способами которые я знаю, преобразования проходят с изменениями. Например, char C = 500, при переводе переменной С в int я получаю значение 244. Подскажите, как написать автоперевод, чтобы при перескоке через 255 отсчет не начинался с нуля.
Лучший ответ
Юрий-17 Гений (76488) 13 лет назад
Вот проанализируйте эту программу и сделайте выводы:

#include <iostream>
using namespace std;
void main()
{
char c=200;
cout << int(c) << endl;
c=500;
cout << int(c) << endl;
cout << (unsigned)(unsigned char)c << endl;
}
Остальные ответы
И.А. Голованов Оракул (75444) 13 лет назад
Формально - явным преобразованием типа
с=(char)i;
i=(int)c;

Но в разных операционках char может быть и знаковым и беззнаковым - тут общее не годится и надо смотреть на конкретные ОС и компилятор.
---------
А про переход через 255:
char просто не бывает больше 255. под него всего 1 байт отведён. естественно при переполнении и выносе единицы за предел в нём остаются только нули, а при присвоении чару целого целое обрезается и остаётся только последний байт
Похожие вопросы