@kr_ilya

Перемножить численные значения unsigned char?

unsigned char t;
	unsigned char tx;
	unsigned char tr;
	int res;
	cin >> t;
	cin >> tx;

	tr = t * tx;
	res = t + tx;

	cout << static_cast<int>(t) << endl;
	cout << int(t) << endl;

	cout << tr << endl;
	cout << t << endl;
	cout << tx << endl;

6203e11e3d218040109790.png

Как перемножить значения переменных типа unsigned char? В моем случае операции выполняются с ascii кодами значений. Я думаю нужно конвертировать значения например в int, но при попытках это сделать конвертируется код символа, а не он сам.

Введены числа 2 и 3
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Unsigned char - это целочисленная переменная, которая хранит код символа.

Если вы хотите получить из кода символа цифры ее значение, то можно, например, вычесть код символа '0'.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
https://ru.wikipedia.org/wiki/ASCII
учите
int base = 0x30;
char* buff ="01234567890";
int val = buff[0] - base; // val is 0
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы