StringStream en C++ para Decimal a Hexadecimal y viceversa

Stringstream es una clase de flujo presente en C++ que se utiliza para realizar operaciones en una string. Se puede usar para formatear/analizar/convertir una string a número/caracter, etc.
Hex es un manipulador de E/S que toma referencia a un flujo de E/S como parámetro y devuelve la referencia al flujo después de la manipulación.
Aquí hay una forma rápida de convertir cualquier decimal a hexadecimal usando stringstream:

// CPP program to convert integer to
// hexadecimal using stringstream and
// hex I/O manipulator.
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    int i = 942;
    stringstream ss;
    ss << hex << i;
    string res = ss.str();
    cout << "0x" << res << endl; // this will print 0x3ae
    return 0;
}

Producción:

0x3ae

Si queremos cambiar la string hexadecimal a decimal, puede hacerlo de la siguiente manera:

// CPP program to convert hexadecimal to
// integer using stringstream and
// hex I/O manipulator.
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    string hexStr = "0x3ae";
    unsigned int x;
    stringstream ss;
    ss << std::hex << hexStr;
    ss >> x;
    cout << x << endl; // this will print 942
    return 0;
}

Producción:

942

Publicación traducida automáticamente

Artículo escrito por Utkarsh Sinha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *