¿Por qué se invierte la matriz en un programa que escribí para convertir binario a decimal? Es decir, el programa en mi código a continuación debería ser 110
El punto es el punto de partida de la conversión. El punto en el ejemplo es 3. Luego, en la función poe(2.0, i), el orden de los valores de i es 3, 4, 5, por lo que la conversión. El proceso es equivalente a
p>
c[3] = 1 * 2^3 = 8
c[4] = 1 * 2^4 = 16
c[5] = 0 * 2^5 = 0
El resultado de la conversión es 8 16 = 24. Esto no es una inversión, sino un problema algorítmico.
De hecho, el algoritmo es muy simple. Primero inicializa la suma = 0 y convierte uno por uno comenzando desde el punto. Primero mueva la suma una posición hacia la izquierda (es decir, multiplíquela por 2) y luego súmela a a[i]. Consulte el siguiente código: int?decomdeChromosome(int?*a, int?point, int?LENGHT)?{
int?i, sum?=?0;
para (i?=?punto;?i?lt;?LENGHT;?i)
suma?=?2?*?suma ?a[i];
retorno ? suma;
}