C++: Преобразование текущего символа string в int

273
11 февраля 2018, 00:42

Нужно сравнить два числа, количество цифр которых будет равняться вплоть до 10^6 (Тип данных записан как string). Какие помимо этого способа существуют преобразования текущего символа строки в int:

int k = int(s[i]) - 48;

Answer 1

количество цифр которых будет равняться вплоть до 10^6

Не надо их в число преобразовывать. Ни один встроенный тип не обеспечит такую точность.

Нужно сравнить два числа ... Тип данных записан как string

Надо взять две строки

  • у обеих убрать лидирующие нули, если они допускаются
  • если строки имеют разную длину, то та, что короче, содержит меньшее число
  • в случае одинаковой длины надо сравнить строки лексикографически

Всё :)

Answer 2

На этот вопрос уже давно есть ответ и не один, и не два. Даже тут https://stackoverflow.com/a/7664227/3654943

std::stoi( str )

READ ALSO
Вызов C++ dll из python: builtins.OSError: [WinError 126] Не найден указанный модуль

Вызов C++ dll из python: builtins.OSError: [WinError 126] Не найден указанный модуль

Пытаюсь вызвать С++ dll с pythonВыдает такую ошибку:

243
Кавычки в C и C++

Кавычки в C и C++

Собственно хочу понять механизм того что происходит с компилятором в C и C++ если объявить символ вот так 'a' и вот так "a"Весь смысл изложен в этой...

257
Проверка правильносьти IP адреса на C++

Проверка правильносьти IP адреса на C++

Дан IP адресНеобходимо проверить его правильность (все числа в диапазоне 0-255, числа разделены точками, количество чисел: 4, точек: 3)

530