En informática , el desplazamiento designa una dirección de manera relativa. Es un valor entero que representa el desplazamiento en memoria necesario, con respecto a una dirección de referencia, para llegar a otra dirección. En otras palabras, el desplazamiento es la distancia que separa dos ubicaciones de memoria.
El desplazamiento se utiliza en la manipulación de matrices o cualquier otra estructura de datos contigua en la memoria.
La unidad que se utiliza para calcular un desplazamiento suele ser el tamaño del elemento directamente direccionable más pequeño; en la mayoría de las arquitecturas, es un byte. La posición exacta de un objeto en la memoria se puede calcular simplemente mediante la fórmula:
adresse absolue = adresse de base + offsetEntonces, en la siguiente estructura (en C #):
struct exemple { Byte a; Int16 b; Int32 c; }el desplazamiento del elemento b será de 1 byte (tamaño del elemento a ); el desplazamiento del elemento c habrá 3 bytes (tamaño de una y b ).
En el caso de una posición relativa dentro de una matriz, la unidad de cálculo será el tamaño de los elementos de la matriz. Por lo tanto, el n- ésimo elemento de una matriz siempre estará en el desplazamiento n-1 independientemente de los elementos de la matriz. El índice de términos en inglés designa el número que representa el elemento. Se corresponde exactamente a la compensación en el caso de idiomas como C . En otros idiomas, dado que el primer elemento no tiene necesariamente el número 0, puede haber un desplazamiento entre el índice de un elemento y su desplazamiento.
En una matriz definida en Visual Basic por:
Dim tableau(2 To 5) As Integero en Pascal por:
tableau : array[2..5] of Integerel índice del tercer elemento será 4, mientras que su desplazamiento será 2.
En el montaje , el desplazamiento se utiliza junto con una dirección de segmento para determinar la dirección de una parte de la memoria.