Sistema Númerico
Publicado por Romulo 21/09/2003
[ Hits: 6.915 ]
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); }
Blackjack simples para estudo de iniciantes em C
funcsoma2.c - Soma 2 pontos flutuantes
Números primos da seqüência Fibonacci
Transformação de Matriz em Matriz Transposta
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Autenticação necessária. um aplicativo quer acesso ao chaveiro (3)
O que você está ouvindo agora? [2] (175)
Copiar Layout do Teclado para aplicar em outra Distribuição (10)