Autor Tema: Aplicaciones con el corrimiento de bits  (Leído 176 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado kostra

  • Okupa
  • *
  • Puntos: 2272
  • Mensajes: 1.919
  • Agradecido: 64 veces
  • Sexo: Femenino
  • Deja de buscar la felicidad,la tienes dentro de ti
    • Ver Perfil
Aplicaciones con el corrimiento de bits
« en: Diciembre 06, 2018, 12:26:28 am »
Llevo programando desde 2009 como muchos otros aquí... y JAMÁS EN TODA MI VIDA he utilizado el corrimiento de bits, pues ni siquiera sé para qué narices sirve... y no me refiero a qué hacen sus operadores.. sino qué utilidades prácticas podría tener, a ser posible en cosas que no parezcan programadas en la NASA xD, haciendo videojuegos, me servirá algun día de mi vida?? aun estoy esperando ese día xDD

vacio existencial mode [ON] :B


"ola k ase clickarme o k ase"
la imagen no se quita xD
 
No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Hezz

Re:Aplicaciones con el corrimiento de bits
« Respuesta #1 en: Diciembre 06, 2018, 03:15:09 am »
Hola kostra! Es un poco raro ver este tema. Al menos yo no lo ví mas de 1 vez XD, pero tengo una idea de cómo se puede aplicar esto en un juego.
Imaginate que querés, en un archivo .ini, guardar los datos de los logros que consiguió el usuario. Pero hacerlo logro1 = 0; logro2 = 1; ... es muy largo y ocupa mucho espacio en el archivo, o querés hacerlo más secreto y que no se sepa cambiar eso de una forma tan obvia. Entonces podés poner algo así: logros = 65; que en binario corresponde a 1100101, teniendo en cuenta que 65 está en hexadecimal. De esta forma sabes que el usuario consiguió los logros 1, 3, 6 y 7, porque en bits se lee de derecha a izquierda.
En conclusión: Este ejemplo no te da una idea de cómo usar el desplazamiento de bits en sí :-[, pero eso ya depende del código que se necesite.
 


Desconectado kostra

  • Okupa
  • *
  • Puntos: 2272
  • Mensajes: 1.919
  • Agradecido: 64 veces
  • Sexo: Femenino
  • Deja de buscar la felicidad,la tienes dentro de ti
    • Ver Perfil
Re:Aplicaciones con el corrimiento de bits
« Respuesta #2 en: Diciembre 06, 2018, 11:56:41 am »
Decimal* xd
Bueno un uso vi el que me dio Niu para un cifrado, lo que más me gustaría saber es que si hay algo para lo que sea imprescindible el corrimiento de bits
"ola k ase clickarme o k ase"
la imagen no se quita xD
 

Desconectado Goganpis

Re:Aplicaciones con el corrimiento de bits
« Respuesta #3 en: Diciembre 06, 2018, 09:48:39 pm »
Llevo mas o menos 3 años en esto, no soy muy experto pero la mayoria de utilidad esta en almacenamiento o encriptacion, pero estaba pensando que es ideal a la hora de enviar y recibir datos de un dispositivo a otro ahorrando todos los espacios usados de memoria, bueno en mi opinion si voy a enviar la posicion x/y:

x = 240
y = 170

240 en binario es 11110000
170 en binario es 10101010

Se envian los datos a otro dispositivo pasado esto para recibir datos debes hacer un procedimiento sabiendo las coordenadas de las variables tomadas del paquete recibido, luego transformarlas a decimal que son x=240 y=170 no se si me explique alguien que lo escriba mas bonito  :-[

Tambien hay un video de guinxu explicando como funcionan los juegos online alli habla de envio y recibo de datos explicando las coordenadas que se toman, que son largos digitos binarios en un solo paquete enviado y tal
 

Desconectado kostra

  • Okupa
  • *
  • Puntos: 2272
  • Mensajes: 1.919
  • Agradecido: 64 veces
  • Sexo: Femenino
  • Deja de buscar la felicidad,la tienes dentro de ti
    • Ver Perfil
Re:Aplicaciones con el corrimiento de bits
« Respuesta #4 en: Diciembre 07, 2018, 12:58:33 pm »
Pero para pasar a binario no hace falta el corrimiento de bits... o si?  Yo es que se pasar bin>dec y dec>bin mentalmente xd pero programando nunca lo hice, algun ejemplo?
"ola k ase clickarme o k ase"
la imagen no se quita xD
 

Desconectado Hezz

Re:Aplicaciones con el corrimiento de bits
« Respuesta #5 en: Diciembre 07, 2018, 04:12:24 pm »
Encontré este video que muestra cómo usar y qué aplicaciones se puede dar al desplazamiento de bits. No parece que sea algo que es indispensable, simplemente una forma distinta para hacer algunas cosas.
Operadores de desplazamiento de bits || UPV
 

Desconectado kostra

  • Okupa
  • *
  • Puntos: 2272
  • Mensajes: 1.919
  • Agradecido: 64 veces
  • Sexo: Femenino
  • Deja de buscar la felicidad,la tienes dentro de ti
    • Ver Perfil
Re:Aplicaciones con el corrimiento de bits
« Respuesta #6 en: Diciembre 08, 2018, 08:11:13 pm »
UPV *.*

hay cosas que no entiendo en las anotaciones, sé como se usan, pero las aplicaciones que dice estamos en lo mismo, yo estoy hablando enfocado a videojuegos
"ola k ase clickarme o k ase"
la imagen no se quita xD
 

Desconectado Johann

  • Las cosas como son!
  • Moderadores globales
  • Okupa
  • *
  • Puntos: 559
  • Mensajes: 722
  • Agradecido: 80 veces
  • Sexo: Masculino
  • First Class Soldier... 8 años en CGM, 3 como mod
    • Ver Perfil
Re:Aplicaciones con el corrimiento de bits
« Respuesta #7 en: Diciembre 09, 2018, 01:56:51 am »
A mi me dijeron que simplemente era una forma mas económica de hacer operaciones matemáticas con base 2, ya sabes, si le quitas o le pones un bit al numero binario que representa al numero que estas operando, lo que quieras hacer con eso ya depende de tu imaginación, por ejemplo la imaginación de NiuWeb dice que puedes tomar unmonton de variables booleanas (unos y ceros) y componer un numero decimal con esos bits, nadie sabrá de que se trata  ;D
Cita de: Fenris78
Si un tema os resulta de interes y veis que hay poca información, la mejor solucion no es quejarse o pedir sin pensar, sino sugerir algo bien planteado o aportarlo vosotros mismos.
Cita de: Calio
Somos desarrolladores independientes y, por lo tanto, no tenemos por qué guiarnos por las tendencias del mercado.
 
Los siguientes usuarios dieron las gracias a este tema: Hezz

Desconectado kostra

  • Okupa
  • *
  • Puntos: 2272
  • Mensajes: 1.919
  • Agradecido: 64 veces
  • Sexo: Femenino
  • Deja de buscar la felicidad,la tienes dentro de ti
    • Ver Perfil
Re:Aplicaciones con el corrimiento de bits
« Respuesta #8 en: Diciembre 09, 2018, 03:07:54 am »
Pues parece que el tema no se sale más allá de la encriptación xD
Bueno muchísimas gracias a todos :)
"ola k ase clickarme o k ase"
la imagen no se quita xD
 

Desconectado Clamud

Re:Aplicaciones con el corrimiento de bits
« Respuesta #9 en: Diciembre 09, 2018, 04:21:25 am »
Una aplicación en videojuegos es la famosa función Fast inverse square root. Sin embargo, no se puede usar con GML porque al hacer corrimiento de bits en un número flotante, se convierte a entero.

Otra aplicación son las banderas o flags. En lugar de utilizar muchas variables booleanas (true o false) se utiliza una sola variable donde cada bit tiene un significado. Por ejemplo, se puede usar una variable powerups, donde cada bit representa el powerup que se ha desbloqueado.

Como menciona Johann, el desplazamiento de bits es una forma rápida y económica de dividir y multiplicar por potencias de 2.
bar << 2 es equivalente a bar * 4
bar >> 1 es equivalente a floor(bar / 2)

Yo lo he utilizado para guardar el estado de los botones de diferentes mandos y detectar los press y release con las operaciones and y not a nivel bit.
global.inputPrev = global.input; //update prev
global.input = 0; //clear

for( i=0; i<16; i++ )
   global.input |= scJoystickCheck(global.inputCode[2,i]) << i;

global.inputPress = global.input & ~global.inputPrev;
global.inputRel = ~global.input & global.inputPrev;
 

Desconectado kostra

  • Okupa
  • *
  • Puntos: 2272
  • Mensajes: 1.919
  • Agradecido: 64 veces
  • Sexo: Femenino
  • Deja de buscar la felicidad,la tienes dentro de ti
    • Ver Perfil
Re:Aplicaciones con el corrimiento de bits
« Respuesta #10 en: Diciembre 09, 2018, 11:25:11 am »
Uff de buena mañanita me cuesta interpretar códigos xd pero me diste una idea (solo mental xd), me he imaginado checkpoints, formado por booleanos formando un binario de por ejemplo 1000000 y para agarrar el siguiente solo habría que  correr el 1 a la derecha xd, seria complicarse la vida pero quería contarlo xd
"ola k ase clickarme o k ase"
la imagen no se quita xD