Flag (számítástechnika)
A számítógépes programozásban a flag egy vagy több bitre utalhat, amelyek egy bináris érték vagy egy Boole-változó tárolására szolgálnak, és speciális kódfeltételeket jeleznek, például a fájl üres vagy teli várólista állapotát.[1][2]
A flagek egy meghatározott adatszerkezet, például egy adatbázisrekord (row ) tagjaként találhatók meg, és a flagben szereplő érték jelentése általában a hozzá tartozó adatszerkezettel kapcsolatban kerül meghatározásra. Sok esetben a flag bináris értéke a lehetséges körülmények vagy állapotok egyikét jelenti. Más esetekben a bináris értékek egy vagy több attribútumot képviselhetnek egy bitmezőben, amelyek gyakran képességekhez vagy jogosultságokhoz kapcsolódnak, mint például „írható” vagy „törölhető”. A flag-értékekhez azonban sok más lehetséges jelentés is rendelhető. A flagek egyik gyakori felhasználása az adatszerkezetek jelölése vagy kijelölése a későbbi feldolgozáshoz.
A mikroprocesszorokban és más logikai eszközökben a flag-eket általában különböző műveletek közbenső vagy végső állapotának vagy eredményének ellenőrzésére vagy jelzésére használják. A mikroprocesszorok jellemzően rendelkeznek például egy állapotregiszterrel , amely ilyen flag-ekből áll, és a flag-ek különböző művelet utáni állapotok jelzésére szolgálnak, például aritmetikai túlcsordulás esetén.[3] A flag-ek felhasználhatók a későbbi műveletekben, például a feltételes ugróutasítások feldolgozásában. Például egy JE
(Jump if Equal) utasítás az x86 assembly nyelvben ugráshoz vezet, ha a Z (zéró) flag-et valamilyen korábbi művelet beállította.
A parancssori kapcsolót flagnek is nevezik. A parancssori programok gyakran egy opcióelemzővel indulnak, amely a parancssori kapcsolókat a cikk értelmében flagekre fordítja.
Jegyzetek
szerkesztés- ↑ Haigh, J.. Designing Computer Programs. Elsevier Science, 59. o. (1994). ISBN 978-0-08-050403-2
- ↑ Fitzgerald, M.. Learning Ruby: The Language that Powers Rails. O'Reilly Media, 49. o. (2007). ISBN 978-0-596-55532-0
- ↑ A leggyakoribb CPU állapotregiszter-jelzők, amelyeket szinte az összes modern processzor alkalmaz: a Zero: Azt jelzi, hogy egy aritmetikai vagy logikai művelet eredménye nulla volt.; Carry: Az átvitel-flag lehetővé teszi egy szónál nagyobb számok összeadását/kivonását úgy, hogy szükség szerint egy bináris számjegyet visz át egy kevésbé jelentős szóból egy jelentősebb szó legkevésbé jelentős bitjébe.; Sign vagy Negative: Azt jelzi, hogy egy matematikai művelet eredménye negatív.; Overflow: Azt jelzi, hogy egy művelet előjeles eredménye túl nagy ahhoz, hogy beleférjen a regiszter szélességébe a kettes komplemens reprezentációval.
Fordítás
szerkesztés- Ez a szócikk részben vagy egészben a Flag (programming) című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
Kapcsolódó szócikkek
szerkesztés