Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpPmChDi 84 of 390 menu
◀ ▶

Цифра в число в C++

Символ '7' - не число 7. В арифметике char превращается в int, и плюс складывает коды, а не «цифры как текст»:

char ch1 = '1'; char ch2 = '2'; std::cout << ch1 + ch2 << "\n"; // выведет 99

Число, которое обозначает цифра, получают вычитанием кода '0'. Для '7' это 7:

char ch = '7'; int num = ch - '0'; std::cout << num << "\n"; // выведет 7

Сложим два таких числа:

char ch1 = '1'; char ch2 = '2'; int num1 = ch1 - '0'; int num2 = ch2 - '0'; std::cout << num1 + num2 << "\n"; // выведет 3

Буква цифрой не является. Вычитание кода '0' все равно выполняется и дает число, только это уже не цифра:

char ch = 'a'; std::cout << ch - '0' << "\n"; // выведет 49

Даны два символа:

char ch1 = '4'; char ch2 = '5';

Найдите сумму чисел, которые обозначают эти цифры, и выведите ее.

Дан символ:

char ch = '7';

Найдите число, которое обозначает эта цифра, и выведите его.

Дан символ:

char ch = '8';

Найдите число, которое обозначает эта цифра, и выведите его произведение на 2.

Дан следующий код:

char ch1 = '1'; char ch2 = '2'; std::cout << (ch1 + ch2) - '0' << "\n";

Программа запускается, но результат неверный. Найдите ошибку в рассуждении.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить