#include <algorithm>
#include <vector>
template <class Uint>
std::vector<unsigned char> bcd(Uint x) {
std::vector<unsigned char> ret;
if (x==0) ret.push_back(0);
// skip the above line if you don't mind an empty vector for "0"
while(x>0) {
Uint d=x/10;
ret.push_back(x-(d*10)); // may be faster than x%10
x=d;
}
std::reverse(ret.begin(),ret.end());
// skip the above line if you don't mind that ret[0] is the least significant digit
return ret;
}
uint8_t bcdToDec(uint8_t val)
{
return ( (val/16*10) + (val%16) );
}
uint8_t decToBcd(uint8_t val)
{
return ( (val/10*16) + (val%10) );
}
Rodrigo_P_A escreveu:o cara que escreveu o código com vetores é um dos piores programadores que eu já vi na minha vida.
polesapart escreveu:Rodrigo_P_A escreveu:...
"Parabéns, o compilador entendeu. Agora reescreva de modo que um humano possa entender"
/**
* Retorna a raiz quadrada de um numero inteiro.
* Desconsidera as implicações fracionarias no cálculo.
* @param num Numero inteiro
* @return raiz quadrada do numero
*/
uint32_t isqrt(uint32_t num)
{
/* Insira o codigo aqui */
}
Voltar para Visual C++/C/C++/C#
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante