Título: alguno puede ayudarme con el desplazamiento y posicionamiento de bits en python Publicado por: Joe Fraddy en 20 Febrero 2015, 06:24 am Lo que tengo que hacer es:
01 Vamos a crear una función invierte_bit que tome los datos de entrada (numero, n). 02 Invertimos el nth bit (con los bit de unos siendo el primer bit) y lo guardamos en resultado. 03Return the result of calling bin(result). y tengo este código: Código
Pero me parece que esta mal, porque no es solo un error lógico sino de comprensión. Título: Re: alguno puede ayudarme con el desplazamiento y posicionamiento de bits en python Publicado por: engel lex en 20 Febrero 2015, 06:35 am no estoy seguro de entender...
lo que te piden es invertir el bit(si es 1 lo convierte en 0 y viceversa) escogido a un numero ingresado? porque lo que estás haciendo es desplazamiento de bits, en tal caso necesitas es invertir... lo puedes hacer con XOR ya que si es 1 al hacer XOR 1 da 0 y si es 0 XOR 1 da 1 en tal caso procedimiento es Código (no confundir "^" con potencia, potencia en python se representa con "**") te recomiendo para el nth bit lo hagas con desplazamiento Código
es decir, el 4to bit sería Código máscara sería igual que 0b1000 Título: Re: alguno puede ayudarme con el desplazamiento y posicionamiento de bits en python Publicado por: Joe Fraddy en 20 Febrero 2015, 20:33 pm No aun no logro entender:
Esta es la clase: Posicionate y desplazate Finalmente, también podés utilizar los operadores a nivel de bits de desplazamiento a la izquierda (<<) y a la derecha (>>) para desplazar máscaras a la posición correspondiente. Código
Supongamos que quiero encender el décimo bit, comenzando desde la derecha de un entero a. En lugar de ingresar toda la serie numérica, puedo desplazarme utilizando el operador <<. Utilizamos el 9, porque solamente necesitamos desplazar la máscara nueve lugares, comenzando desde la derecha, para llegar al décimo bit. Instrucciones 1. Vamos a crear una función invierte_bit que tome los datos de entrada (numero, n). 2. Invertimos el nth bit (con los bit de unos siendo el primer bit) y lo guardamos en resultado. 3. Devolver el resultado llamando a bin(resultado). Título: Re: alguno puede ayudarme con el desplazamiento y posicionamiento de bits en python Publicado por: engel lex en 20 Febrero 2015, 20:39 pm si... teoricamente es así..., para la mascara no es necesario que escribas "0b1" ya que 1 es 1 en binario, octal, decimal, hexadecimal, etc... 1 es 1
si quieres encender con OR siempre servirá Título: Re: alguno puede ayudarme con el desplazamiento y posicionamiento de bits en python Publicado por: Joe Fraddy en 20 Febrero 2015, 21:19 pm Creo que sigo sin entender, porque lo hago así y no me resulta:
Código
Título: Re: alguno puede ayudarme con el desplazamiento y posicionamiento de bits en python Publicado por: engel lex en 20 Febrero 2015, 21:27 pm no da resultado porque no usaste "numero" dentro de la función :silbar:
eso pasa porque has pasado mucho tiempo trancado y trabajando eso XD deja eso de lado por un rato, y ponte a experimentar con codigo, a usar los desplazamientos, los operadores logicos y ve como funcionan bien... leete bien los 2 textos de wikipedia que te deje en el otro post Título: Re: alguno puede ayudarme con el desplazamiento y posicionamiento de bits en python Publicado por: Joe Fraddy en 21 Febrero 2015, 23:17 pm Gracias por las recomendaciones, ya quedó el código:
Código
Creo que todavía me falta estudiar mas a fondo este asunto de los bits xD Título: Re: alguno puede ayudarme con el desplazamiento y posicionamiento de bits en python Publicado por: engel lex en 21 Febrero 2015, 23:36 pm deberías confirmar que "numero" nunca sea menor de 1, si no la pc explota :P
Título: Re: alguno puede ayudarme con el desplazamiento y posicionamiento de bits en python Publicado por: Joe Fraddy en 22 Febrero 2015, 05:50 am Jajaja, ok, es que apenas estoy aprendiendo y se me pasan todavía algunas cosas xD
|