Conversion Big Lilte Indian

Hace un tiempo recibi la consulta de como hacer la conversion de Big Indian to Litle Indian o viceversa, ya que lo que vamos a proponer simplemente tendremos que envirtir el orden de los Bytes.

Primero una breve descripción de Big and Litle Indian, su diferencia radica en como se ordenan los datos en el area de memoria, "Little" El Byte de menor peso se almacena en la dirección más baja y el Byte de mayor peso en la más alta, por contrapartida "Big" El Byte de mayor peso se almacena en la dirección más baja y el Byte de menor peso en la dirección más alta.

Para esto vamos a crear una Función FC, donde como parametros de entradas le vamos a pasar un DWORD y como salida vamos a obtener otro DWORD con los Bytes invertidos.

Con la siguiente imagen no creo que haga falta explicar su funcionamiento.

Si lo que nos interesa es la conversion de un Word, el procedimiento seria el mismo, pero con dos Bytes.

Y en la siguiente, podemos observar el valor de cada Byte y como lo transferimos a su direccion opuesta

Y lo mejor es ver un ejemplo en funcionamiento, hacemos las llamadas que hagan falta a nuestra FC y le pasamos el DWord que queremos invertir y donde lo vamos a guardar. Una vez online la forma mas simple de verlo es en formato Hexadecimal, como se aprecia en las siguientes imagenes.

7 de Diciembre del 2013