All pastes #2046511 Raw Edit

Miscellany

public text v1 · immutable
#2046511 ·published 2011-04-14 19:21 UTC
rendered paste body
void puthex (unsigned int a) //converte para hexadecimal 
{
	int base = 16; //hexadecimal
	int potencia = 16; //primeira potencia para verificação 16^1
	int i; //contador
	unsigned int b = a;
	
	uart_putcharA('0');
	uart_putcharA('x');
	
	if (a != 0)
	{
		//Descobre a maior potencia de 'a' na base 16
		while (a/potencia != 0)
		{
			potencia *= base;
		}
		potencia /= base;

		//Imprime o valor 
		for (i=0; potencia >= 1; i++) 
		{
			b = a/potencia; 
			a = a%potencia;
			b += 0x30; //passa pra ascii
			if (b > 0x39)  
				b += 7;  
			uart_putcharA((char)b); //Imprime no hyperterminal
			potencia /= base; //Atualiza potencia
		}	
	}
	else
	{
		uart_putcharA('0');
	}
}