Conversor binário
Publicado por Geraldo José Ferreira Chagas Júnior 08/09/2008
[ Hits: 9.800 ]
Homepage: http://prginfo.blogspot.com
Converte um número em binário para decimal, hexadecimal e quando possível, mostra o caractere referente ao valor ASCII.
#include <stdio.h> #include <string.h> #define iifi(c) (((c)=='0') ? (0) : (1)) void intTohex (unsigned long int b, char* hex) { char vet[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; unsigned long int r; r = b % 0x10; hex[7] = vet[r]; b = b >> 0x4; r = b % 0x10; hex[6] = vet[r]; b = b >> 0x4; r = b % 0x10; hex[5] = vet[r]; b = b >> 0x4; r = b % 0x10; hex[4] = vet[r]; b = b >> 0x4; r = b % 0x10; hex[3] = vet[r]; b = b >> 0x4; r = b % 0x10; hex[2] = vet[r]; b = b >> 0x4; r = b % 0x10; hex[1] = vet[r]; b = b >> 0x4; hex[0] = vet[b]; hex[8] = '{FONTE}'; } unsigned long int binToInt (char *str) { return iifi(str[0])*128 + iifi(str[1])*64 + iifi(str[2])*32 + iifi(str[3])*16 + iifi(str[4])*8 + iifi(str[5])*4 + iifi(str[6])*2 + iifi(str[7]); } void arruma (char *dest, char *ori) { int i; int t; t=strlen(ori)-1; for (i=7; i>=0;i--) { if (t>=0) dest[i]=ori[t]; else dest[i]='0'; t--; } dest[8]='{FONTE}'; } char inToChar (unsigned long int val) { if ((val > 32) && (val < 127)) return val; else return '.'; } int main (int argc, char* argv[]) { char temp[9]; unsigned long int valInt; char c; int i; if (argc<2) { printf ("Parametro incorreto.\n"); printf ("Informe apenas os valores em binário\n"); return 1; } for (i=1; i<argc;i++) { arruma(temp, argv[i]); valInt=binToInt(temp); intTohex(valInt,temp); c = inToChar (valInt); printf ("Inteiro=%d Hexa=%s char=%c\n",valInt, temp, c); } }
Calcula o raio de um objeto cilindrico
Conceito (nota - aprovado - reprovado)
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)