Ve vědě o počítačích , ofsetový označuje adresu v relativním způsobem. Jedná se o celočíselnou hodnotu představující posunutí v paměti nezbytné vzhledem k referenční adrese k dosažení jiné adresy. Jinými slovy, offset je vzdálenost oddělující dvě paměťová místa.
Posun se používá při manipulaci s poli nebo jinými souvislými datovými strukturami v paměti.
Jednotkou použitou k výpočtu offsetu je nejčastěji velikost nejmenšího přímo adresovatelného prvku; ve většině architektur je to byte. Přesnou polohu objektu v paměti lze vypočítat jednoduše podle vzorce:
adresse absolue = adresse de base + offsetTakže v následující struktuře (v C #):
struct exemple { Byte a; Int16 b; Int32 c; }posun prvku b bude 1 bajt (velikost prvku a ); ofset prvek c bude 3 bajty (velikost a b ).
V případě relativní polohy v poli bude jednotkou výpočtu velikost prvků pole. Takže n- tý prvek pole bude vždy na offsetu n-1 bez ohledu na prvky pole. Anglický výraz index označuje číslo představující prvek. To přesně odpovídá posun v případě jazyků, jako je C . V jiných jazycích, protože první prvek nemusí nutně mít číslo 0, může existovat posun mezi indexem prvku a jeho posunem.
V poli definovaném v jazyce Visual Basic :
Dim tableau(2 To 5) As Integernebo v Pascalu podle:
tableau : array[2..5] of Integerindex třetího prvku bude 4, zatímco jeho posun bude 2.
V sestavě se offset používá ve spojení s adresou segmentu k určení adresy části paměti.