Código fuente de segmento aleatorio
Pensemos en ello juntos. ¿Tenemos que utilizar esta idea? Echemos un vistazo a mi implementación:
#Defina el valor máximo de 10
int get8to10()
{
char * str, s[MAX];
int n = 0;
str=s
Obtener;
mientras(*(str )! ='\0')
n =(n & lt;& lt3)+(*(str++)-0x 30);
Devolver n;
}
Aquí, n en realidad actúa como un acarreo. Jaja ~ Cada bucle n veces equivale a desplazar 3 dígitos hacia la derecha (multiplicado por 8). En cuanto a cuántos dígitos se han movido, no debemos preocuparnos por eso. Naturalmente, hay un período de tiempo para controlar ~~ 0x30 es en realidad '0', y el valor real de cualquier carácter numérico es el valor menos el carácter '0'.
Por cierto: este chiste no detecta el desbordamiento decimal, pero creo que este no es un punto difícil y definitivamente puedes resolverlo.
-
Disfrútalo~~