std::soul
Convierte una string en un entero sin signo. Analiza str interpretando su contenido como un número entero de la base especificada, que se devuelve como un valor largo sin signo.
unsigned long stoul (const string& str, size_t* idx = 0, int base = 10); Parameters : str : String object with the representation of an integral number. idx : Pointer to an object of type size_t, whose value is set by the function to position of the next character in str after the numerical value. This parameter can also be a null pointer, in which case it is not used. base : Numerical base (radix) that determines the valid characters and their interpretation. If this is 0, the base used is determined by the format in the sequence.Notice that by default this argument is 10, not 0.
std::stoll
Convierta la string en long long sin firmar. Analiza str interpretando su contenido como un número entero de la base especificada, que se devuelve como un valor de tipo unsigned long long.
unsigned long long stoull (const string& str, size_t* idx = 0, int base = 10); Parameters : str : String object with the representation of an integral number. idx : Pointer to an object of type size_t, whose value is set by the function to position of the next character in str after the numerical value. This parameter can also be a null pointer, in which case it is not used. base : Numerical base (radix) that determines the valid characters and their interpretation. If this is 0, the base used is determined by the format in the sequence. Notice that by default this argument is 10, not 0.
Ejemplos:
Input : FF Output : 255 Input : FFFFF Output :
// CPP code to convert hexadecimal // string to int #include <bits/stdc++.h> using namespace std; int main() { // Hexadecimal string string str = "FF"; // Converted integer unsigned long num = stoul(str, nullptr, 16); // Printing the integer cout << num << "\n"; // Hexadecimal string string st = "FFFFFF"; // Converted long long unsigned long long val = stoull(st, nullptr, 16); // Printing the long long cout << val; return 0; }
Producción:
255 16777215
Otro ejemplo: programa para comparar dos strings que contienen valores hexadecimales
Aquí se usa stoul , pero en casos de números que exceden el valor largo sin signo, se usa stoul .
// CPP code to compare two // hexadecimal string #include <bits/stdc++.h> using namespace std; int main() { // Hexadecimal string string s1 = "4F"; string s2 = "A0"; // Converted integer unsigned long n1 = stoul(s1, nullptr, 16); unsigned long n2 = stoul(s2, nullptr, 16); // Compare both string if (n1 > n2) cout << s1 << " is greater than " << s2; else if (n2 > n1) cout << s2 << " is greater than " << s1; else cout << "Both " << s1 << " and " << s2 << " are equal"; return 0; }
Producción:
A0 is greater than 4F
Este artículo es una contribución de Sachin Bisht . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA