Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DD_Dev

Problemas em converter inteiro para string (stringstream) c++

Recommended Posts

#include <iostream>
#include <string.h>
#include <sstream>
using namespace std;
int main(int argc, char *argv[]){
    
    int n, aux;
    string hexa="";
    stringstream hexa_aux;
    
    cin >> n;
    while(n != 0){
        aux = n % 16;
        n/=16;
        switch (aux){
            case 10:
                hexa+="A";
                break;
                
            case 11:
                hexa+="B";
                break;
                
            case 12:
                hexa+="C";
                break;
                
            case 13:
                hexa+="D";
                break;
                
            case 14:
                hexa+="E";
                break;
                
            case 15:
                hexa+="F";
                break;
            
            default:
                hexa_aux << aux;
                hexa+=hexa_aux.str();
                break;
        }
    }
    for(int i = hexa.length()-1; i>=0; i--){
        cout << hexa;
    }
    return 0;
}


estou com problemas em converter um número inteiro para string, quando a entrada é 36, o resultado certo deveria ser 24, mas o valor acaba saindo 244, entre outros valores. O problema é com a conversão?

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <iostream>
using namespace std;
int main (int argc, char *argv[]) {
    int n;
    cout << "Informe o número decimal:";
    cin >> n;
    
   
    cout << hex << n << endl;
    return 0;
}
#include <iostream>
#include <algorithm>
using namespace std;
string convertToHex(int n) {
    string letters = "abcdef";
    int rem;
    int quo = n;
    string str = "";
    
    while (quo) {
        rem = quo % 16;
        if (rem < 10) {
            str.append(to_string(rem));
        } else if (rem >= 10 && rem < 16) {
            str.append(to_string(letters[rem % 10]));
        }
        
        rem = quo % 16;
        quo = quo / 16;
    }
    
    reverse(str.begin(), str.end());
    return str;
}

int main (int argc, char *argv[]) {
    int n;
    cout << "Informe o número decimal:";
    cin >> n;

    cout << "Hex value: " << convertToHex(n) << endl;
    return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por josenilson
      Olá pessoal !
       
      Estou tentando rodar um projeto de um jogo na minha maquina porem o mesmo pede para adicionar o log4cxx 0.10.0, realizei pesquisas na internet a respeito mas até agora nada, Encontre para baixar nesse site https://logging.apache.org/log4cxx/1.0.0/download.html porem não sei se devo instalar ele no windows porque ao exportar ele no projeto as depêndencias que precisam dele ficam informando o erro log4cxx.logger.h no such file or directory. a linguagem que estou usando e C++
       
       
    • Por Leandro T.
      pessoal bom dia alguém poderia me ajudar com o FormValidation?
       
      "nomefuncionario": {
                  validators: {
                      
                  
                    notEmpty: {
                      message: "Nome completo do funcionário é obrigatório."
                    } , <=== este funciona normalmente
                      
                      callback: {  // agora o callback nao consigo fazer funcionar
                              message: 'este nome não é valido',
                              callback: function (input) {
                                  if (input.value = 'algum valor digitado') {
                                      return true
                                  } }},
                      
                      
                      
                  }
    • Por nathanmoreira
      Após diversos cálculos provindos de um código, recebo um número inteiro ao qual não sei o tamanho ao certo (pode variar de 1 pra frente). Quero passar esse número para string e formatar ele de maneira a colocar um ,00 no final e, a cada 3 números antes da virgula, um ponto. Ou seja, deixar o número num formato como: 45.114.477,00
       
      Como fazer? 
    • Por TK_T
      olá sou iniciante consegui fazer um o código de um exercício só que quando eu peço o valor 12ab ele lê como numérica alguém pode me ajudar? 
      Exercício: Leia uma string e diga se a mesma é numérica (na base decimal) ou não.
      Ex.: "123" -> numérica
      "abc" -> não numérica
      "12ab" -> não numérica
      "12.34" -> numérica 
      #include <stdio.h> int main() { char Numero; printf("Digite Algo: "); scanf("%c", &Numero); if(Numero == '1' || Numero == '2' || Numero == '3' || Numero == '4' || Numero == '5' || Numero == '6' || Numero == '7' || Numero == '8' || Numero== '9' || Numero == '0') printf("\tNumérica...\n"); else printf("\tNão Numérica\n"); return 0; }  
    • Por clayton.lima2020
      Boa Tarde!
       
      Pessoal estou com um problema para resolver:
       
      Tenho um uma string que é um Nome:  SYLVIA
       
      Eu preciso fazer uma uma busca nessa string achar a letra Y e depois verificar se após a letra Y a próxima letra é Vogal ou Consoante.
       
      No caso do nome SYLVIA a próxima letra é L então retorna Consoante.
       
      Alguém sabe montar esse algoritmo ai?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.