Título: Calcular el rango en byte de un determinado objeto sin utilizar <limits.h> [C] Publicado por: NOB2014 en 21 Octubre 2016, 22:52 pm Hola, ¿ cómo están ?
Bueno lo dicho, alguien me puede decir si esto es factible y de serlo, por favor, podrían dar alguna referencia. - Saludos. Título: Re: Calcular el rango en byte de un determinado objeto sin utilizar <limits.h> [C] Publicado por: engel lex en 22 Octubre 2016, 05:27 am si es unsigned tienes la opción siempre de restarle 1 a un objeto incializado en 0... esto llevará su posición a la maxima...
si es signed sabes que negativo es el inverso de los numeros (1 a 0) cuando el primer bit es 1, entonces solo tienes que hacer desplazamiento de bits hasta que te de un negativo... en ese punto sabes que el negativo fue el bit de mayor orden tambien puedes en ambos casos hacer desplazamiento de un 1 hasta que vuelva a 0, en ese caso sabes que ese fue el punto de desbordamiento, solo tienes que contar los saltos y la potencia de 2 saltos menos 1 es el limite Título: Re: Calcular el rango en byte de un determinado objeto sin utilizar <limits.h> [C] Publicado por: NOB2014 en 22 Octubre 2016, 19:30 pm Hola engel lex
tambien puedes en ambos casos hacer desplazamiento de un 1 hasta que vuelva a 0, en ese caso sabes que ese fue el punto de desbordamiento, solo tienes que contar los saltos y la potencia de 2 saltos menos 1 es el limite Sin lugar a dudas es lo busco, pero no logro implementarlo ni siquiera intentarlo, me podrías guiar con un poco de código, si lo deseas gracias y si no igual me sirve como idea. - Saludos. Título: Re: Calcular el rango en byte de un determinado objeto sin utilizar <limits.h> [C] Publicado por: engel lex en 22 Octubre 2016, 19:44 pm no estoy ahorita en un lugar con compilador...
has un codigo con desplazamiento de bits es decir Código: TIPO a = 1; "TIPO" es el tipo de variable con la que lo declares aqui el comportamiento de "a" será algo como Código: 00001 Título: Re: Calcular el rango en byte de un determinado objeto sin utilizar <limits.h> [C] Publicado por: NOB2014 en 22 Octubre 2016, 21:00 pm Dejo lo que hice, pero no me funciona, voy a seguir buscando y si tienes tiempo te agradecería que me digas lo que estoy haciendo mal. -
El igual en la lineal 9 lo puse porque de lo contrario hacia un bucle infinito. - Código Saludos. Título: Re: Calcular el rango en byte de un determinado objeto sin utilizar <limits.h> [C] Publicado por: engel lex en 22 Octubre 2016, 21:37 pm está bien en lineas generales tu codigo, el error fue mio,
lo ecribí Código: a >> 1; pero si tuve el error en la dirección... igual cuando te den codigos, así sea aquí procura revisar la lógica a antes de ejecutarlo... otra cosa, el contador empieza en 0 no en 1, es un while, no un do-while el ejemplo interno del ciclo Código: 00001 el 1 se mueve hacia la izquierda... el desplazamiento lo puse al contrario debe ser << con una pequeña correción y quitando la impresión de arriba queda algo como Código
Título: Re: Calcular el rango en byte de un determinado objeto sin utilizar <limits.h> [C] Publicado por: NOB2014 en 22 Octubre 2016, 23:07 pm Hola.
Me imagino por lo que escribiste que estas con el seño fruncido así que no voy a pedir el porqué pero en 2 tipos el resultado no me da correcto. - Voy a practicar y cuando encuentre la solución la posteo para quien la consulte no encuentre errores . - Un abrazo. Título: Re: Calcular el rango en byte de un determinado objeto sin utilizar <limits.h> [C] Publicado por: engel lex en 22 Octubre 2016, 23:11 pm no para nada ;D mas bien me dio pena no ver el error... para ver en que casos... y como haces el printf (que te dejé una advertencia ::) allí)
|