Convertendo inteiros para ascii e ascii para inteiros em C
De um modo simples, com nosso bom e velho compilador gcc , podemos ter o valor inteiro de um caractere ascii da seguinte forma:
main(){
int i;
char c;
c='x';
i=c;
printf("%d",i);
}
Nada mais banal, não é? Você apenas iguala a variável de inteiro com a variável de caractere e ela já dá o seu valor ascii.
Agora, dado um inteiro, se você quiser saber qual é seu caractere ascii correspondente é só fazer:
main(){
int i;
char c;
i='109';
c=i;
printf("%c",c);
}
Tão simples que dá vontade de bater no professor de programação que disse que era para usar "struct{char *c} = sprintf(%#$#!$#$)" e coisas assim.
Boa "programação" para todos.
Outras dicas deste autor
Programa exemplo em Assembler para Linux
Como gravar partes de um vídeo com o mencoder
Acerte as horas NOW!
Usando repositórios do Yum no Zypper do SuSE
Resolvendo problema de atualização do Eclipse no Debian Squeeze
Leitura recomendada
Lista de IDEs para Programação em Qualquer Distro
Compilando/Instalando o novo Cairo-Dock no Sabayon
Programando em C/C++ no Eclipse
Lançado o FltkEmu
MDK (Mix Development Kit) no Projeto GNU
Comentários
pior q da vontade de socar esses professores mesmo!!! A minha professora que tive de programação era mt horrivel!! desse tipo mesmo hehehe
E só complementando sua dica, também podemos retornar o equivalente em hexa, no lugar de "%d" ou "%c" use "%x".
Valeuuuu...
Mensagem
E só complementando sua dica, também podemos retornar o equivalente em hexa, no lugar de "%d" ou "%c" use "%x".
Valeuuuu...
Fiz essa prog. em C++:
#include <iostream>
using namespace std;
int main ()
{
int n, opcao;
char m;
cout<<"Digite 1 para converter numero>char e 2 para char>numero: ";
cin>>opcao;
switch (opcao)
{
case 1:
cout<<"Digite um numero: ";
cin>>n;
cout<<n<<"= "<<static_cast<char>(n)<<endl;
break;
case 2:
cout<<"Digite um caracter: ";
cin>>m;
cout<<m<<"= "<<static_cast<int>(m)<<endl;
break;
}
return 0;
}
Em C || C++ poderia ser assim:
n(int)
Mensagem
Fiz essa prog. em C++:
#include <iostream>
using namespace std;
int main ()
{
int n, opcao;
char m;
cout<<"Digite 1 para converter numero>char e 2 para char>numero: ";
cin>>opcao;
switch (opcao)
{
case 1:
cout<<"Digite um numero: ";
cin>>n;
cout<<n<<"= "<<static_cast<char>(n)<<endl;
break;
case 2:
cout<<"Digite um caracter: ";
cin>>m;
cout<<m<<"= "<<static_cast<int>(m)<<endl;
break;
}
return 0;
}
Em C || C++ poderia ser assim:
n(int)
Contribuir com comentário
Enviar