Sistema Númerico
Publicado por Romulo 21/09/2003
[ Hits: 6.789 ]
Um programinha que converte números de um sistema para
outro,dicimal-hexadecimal-binário-octal.
Obs.:(Para indicar um número binário não precisa colocar o b
no final basta digitar o númer, ex.: 10010)
#include <stdio.h> #include <stdlib.h> int pot(int x,int y); int main() { int ba10, ba16, ba8, bin1[31], contr, ver, ind, opcao1, opcao2, exp; char bin2[31]; do { system("clear"); /*limpa a tela*/ printf("{FONTE}33[01;33;41m"); printf("{FONTE}33[8;23H"); printf("+-----------[MENU PRINCIPAL]-----------+"); printf("{FONTE}33[9;23H"); printf("| 1 - Converter um número decimal |"); printf("{FONTE}33[10;23H"); printf("| 2 - Converter um número hexadecimal |"); printf("{FONTE}33[11;23H"); printf("| 3 - Converter um número octal |"); printf("{FONTE}33[12;23H"); printf("| 4 - Converter um número binário |"); printf("{FONTE}33[13;23H"); printf("| 5 - Créditos |"); printf("{FONTE}33[14;23H"); printf("| 6 - Sair |"); printf("{FONTE}33[15;23H"); printf("+------------------[S.Numérico v.0.3]--+"); printf("{FONTE}33[00m"); printf("{FONTE}33[17;23H"); printf("# "); scanf("%d", &opcao1); switch(opcao1) { case 1: system("clear"); puts("Entre com um número decimal: "); scanf("%d", &ba10); printf("\nHexadecimal = %X", ba10); printf("\nOctal = %o", ba10); /*---------------binario---------------*/ ver=ba10; ind=0; while(ver!=0) { bin1[ind]=ver%2; ver/=2; ind++; } printf("\nBinário = "); for(contr=0;contr<=ind-1;contr++) { printf("{FONTE}33[6;%dH", contr+11);/*substitui o gotoxy(x,y) da conio.h*/ printf("%d", bin1[ind-contr-1]); /*imprime na tela cada digito*/ } /*-----------------fim-----------------------*/ puts("\n\n1 - Menu principal"); puts("2 - Sair"); printf("\n# "); scanf("%d", &opcao2); break; case 2: system("clear"); puts("Entre com um número hexadecimal: "); scanf("%X", &ba16); printf("\nDecimal = %d", ba16); printf("\nOctal = %o", ba16); /*---------------binario---------------*/ ver=ba16; ind=0; while(ver!=0) { bin1[ind]=ver%2; ver/=2; ind++; } printf("\nBinário = "); for(contr=0;contr<=ind-1;contr++) { printf("{FONTE}33[6;%dH", contr+11); printf("%d", bin1[ind-contr-1]); } /*---------------fim-------------------*/ puts("\n\n1 - Menu principal"); puts("2 - Sair"); printf("\n# "); scanf("%d", &opcao2); break; case 3: system("clear"); puts("Entre com um número octal: "); scanf("%o", &ba8); printf("\nDecimal = %d", ba8); printf("\nHexadecimal = %X", ba8); /*---------------binario---------------*/ ver=ba8; ind=0; while(ver!=0) { bin1[ind]=ver%2; ver/=2; ind++; } printf("\nBinário = "); for(contr=0;contr<=ind-1;contr++) { printf("{FONTE}33[6;%dH", contr+11); printf("%d", bin1[ind-contr-1]); } /*---------------fim-------------------*/ puts("\n\n1 - Menu principal"); puts("2 - Sair"); printf("\n# "); scanf("%d", &opcao2); break; case 4: system("clear"); puts("Entre com um número em binário: "); scanf("%s", &bin2); /*o numero binario que vai ler esta em caracteres ascii*/ for(ind=0;bin2[ind]!='{FONTE}';ind++) { if(bin2[ind]==48) /*aqui ele preenche o vetor bin1 com os 0 ou 1*/ { bin1[ind]=0; } else { bin1[ind]=1; } } ba10=0; for(contr=0;contr<=ind-1;contr++) { if(contr!=ind) { exp=pot(2,ind-1-contr); } else { exp=pot(2,0); /*funcao exponencial*/ } ba10+=bin1[contr]*exp; } printf("\nDecimal = %d", ba10); printf("\nOctal = %o", ba10); printf("\nHexadecimal = %X", ba10); puts("\n\n1 - Menu principal"); puts("2 - Sair"); printf("\n# "); scanf("%d", &opcao2); break; case 5: system("clear"); puts("S.Numérico v.0.3"); puts("Desenvolvido por Waner Wodson"); puts("e mail: wwodson@terra.com.br"); puts("\n1 - Menu principal"); puts("2 - Sair"); printf("\n# "); scanf("%d", &opcao2); break; default: printf("\a"); break; } } while((opcao1!=6)&&(opcao2!=2)); system("clear"); printf("+------------------------------------------------------+\n"); printf("| Obrigado por usar o S.Númerico v.0.3 |\n"); printf("+------------------------------------------------------+\n\n"); return 0; } int pot(int x,int y) { int ret, controle; ret=1; if(y==0) { ret=1; } if(y>0) { for(controle=1;controle<=y;controle++) { ret*=x; } } return(ret); }
Calculo de Diagonais de Triangulo
CAIXA ELETRÔNICO em c++ para Linux
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta