フラグ (コンピュータ)

コンピュータにおけるフラグ: flag)とは、真か偽か0か1かマイナスが付くか付かないか、などといった情報量が1ビットの値(情報)を状態として保持する、レジスタ変数などのことである。メモリの節約などのために、複数ビットを持つ整数型を使って、フラグの集合をコンパクトに管理することもあれば、プログラムの可読性やメモリアドレッシングの高速化を優先して、1バイトや4バイトの整数型を使って単一の真偽値を管理することもある。

操作

語源は「」を意味する英語 flag であり、旗を連想させるような「上げる・立てる」および対義語として「下ろす・降ろす・倒す」といった表現が使われることもあるが、他に「落ちる・落とす」などその他の表現が使われることもある。電気信号のアナロジーから、オン/オフ(ON/OFF)という表現が使われることもある。プログラミング言語のソースコード上では、変数への真値の代入によりフラグを立てる操作に相当する処理を、また偽値の代入によりフラグを降ろす操作に相当する処理を書くことができる。

以上の他に「トグル」(: toggle)という操作がある。押しボタン型スイッチに見られる「プッシュ・プッシュ型」のように、操作の度に状態が交互に切り替わるような操作である。この操作は、プログラミング言語のソースコード上では条件分岐条件演算子と再代入を使って書くことができるが、x = !xのように論理否定演算子と再代入を使ったり、x.toggle()のようにメソッドを使ったりして簡潔に書くことのできる言語もある[注釈 1]

またフラグが集まったバイトワード等の一部を操作するには、ビットマスクを用いたビット単位の演算を使う。

ハードウェア

ステータスレジスタ

例: Z80ステータスレジスタ

  • Sフラグ: 計算結果の正負
  • Zフラグ: 計算結果がゼロかどうか
  • Hフラグ: 4ビットで表しきれないとき1(パックBCD向けのキャリーフラグ)
  • P/Vフラグ: パリティ・オーバーフロー
  • Nフラグ: 減算のとき1、加算のとき0
  • Cフラグ: 8ビットで表しきれないときに立つキャリーフラグ

ソフトウェア

ブーリアン型

フラグとして変数を定義するとき、ブーリアン型を用いることがほとんどである。ブーリアン型は「真」(フラグが立っている)および「偽」(フラグが立っていない)[注釈 2]のみを値として受けつけ、都合が良いからである。JavaC#if文など、条件式が期待される文脈ではブーリアン型しか受け入れられない言語もある。真値と偽値には、truefalseといった専用リテラルがキーワードまたは予約語として用意されていることが多い。

古い規格バージョンのC言語ANSI C規格など)に代表されるように、ブーリアン型が無い言語もある。そういった言語では、多くが組み込みの固定長整数型[注釈 3]または数値型[注釈 4]で代用する仕様となっている。C言語の場合、0が偽[注釈 5]、0以外が真として扱われる。C言語では偽値の論理否定は真値の代表値すなわち1となる仕様であり、例えば !0 は1になり、真値の二重否定 !!"hello" は1になる。このような慣習はシステムや言語、ソフトウェアフレームワークによって大きく異なることが多く、例えばUnixシェルでは0が真で1が偽である[注釈 6]。他には-1が真で0が偽という環境もある[注釈 7][注釈 8]

ビットフィールド

言葉の広まり

日本ではフラグという言葉がコンピュータ用語の枠を超えて広まっていったのは1980年代後半からとみられ、パソコン雑誌では『コンプティーク』1985年7、8月号(角川書店)で「持ち物のフラグによるトリック」との見出しがあり、1986、7年の『ログイン』(アスキー)、『マイコンBASICマガジン』(電波新聞社)のアドベンチャーゲーム記事で「フラグ」が何度も使われている[5]

次いでパチスロ界隈で使われるようになり、1988年3月発行の『パチンコ攻略マガジン』NO.2(プラントピア)で「フラッグ」、1989年10月発行の『パチスロ機種別完全攻略本』(西東社)で「フラグが立つ」との記述があり、『週刊プレイボーイ』1989年4月25日号(集英社)でパチスロ用語として紹介されている[6]

ファミコン雑誌では1988年までほぼ見受けられないが、ファミコン通信1987年4月17日号の堀井雄二による記事「『ドラゴンクエストII』ができるまで 前編」で注釈なしの使用例がみられ、この記事は『ログイン』1987年4、5月号で連載したコラム「ゆう坊やの虹色ディップスイッチ」を再構成したもので、堀井が同誌で短期連載していた『堀井雄二の実践的アドベンチャーのつくり方』では1986年5月号で「フラグ編」と題して説明がなされていることから、改めて説明するまでもなく、ファミコン通信掲載時にはチェック漏れがあった可能性がある[5]。そして先述のパチスロには興味はないが週刊プレイボーイのような青年誌を読んだゲーム雑誌ライターも使うようになり[6]、1990年に「ゆう坊やの虹色ディップスイッチ」の単行本化の際には注釈が存在、この頃にゲーム制作に興味がある子供に知られていったとみられる[5]

脚注

注釈

  1. ^ ブーリアン型が整数型によって実装されており、また真値として整数値1のみをとることが常に保証されている場合は、x = 1 - xといった算術演算で書くこともできるが、可読性や移植性を損なうため、そのようなコードを書くことは避けるべきである。同様に、0インクリメントすれば1になるからといって、フラグ変数に真値を設定するつもりでインクリメント操作を使用すると、ラップアラウンドや算術オーバーフローによって意図しない動作になる可能性もある。安全性を軽視したトリッキーなコードを不用意に記述すると、場合によってはセラック25のように取り返しのつかない大事故を引き起こす致命的なバグとなる。Javaに代表される後発のプログラミング言語では、安全性に配慮してブーリアン型を整数型として扱えないような仕様になっているものが多い。
  2. ^ 3値論理の場合は「不明」という値も取りうる。
  3. ^ C99規格では_Bool型が導入されたが、これはJavaのような純粋なブーリアン型ではなく、標準符号無し整数型のひとつとして規定されており、整数型と相互に暗黙変換が可能となっている。
  4. ^ AWKなど、ブーリアン型だけでなく整数型すら持たず、1種類の数値型しかないような言語の場合。
  5. ^ ヌルポインタのような0相当の値も含む。
  6. ^ exitシステムコール英語版が返す終了コードに関係する。
  7. ^ 2の補数表現では、真を -1 にすると、論理否定とビット反転が兼用できるという利点がある。なおC言語およびC++20規格よりも前のC++では、符号付き整数の内部表現が規定されていないため、負の数に対するビット単位の演算結果は処理系定義となる[1][2]
  8. ^ COMのバリアント型におけるVT_BOOLや、Visual BasicおよびVisual Basic .NETBoolean型などが挙げられる[3][4]

出典

関連項目

Read other articles:

Adjacent national parks in California Rae Lakes Creek in Kings Canyon National Park, within the Sequoia-Kings Canyon biosphere reserve The Sequoia and Kings Canyon National Parks is the consolidated management structure for Sequoia National Park and Kings Canyon National Park in California. The two parks have been jointly administered since 1943. They have a combined size of 1,353 square miles (3,500 km2).[1] It was designated the UNESCO Sequoia-Kings Canyon Biosphere Reserve in ...

 

Dana Información personalNombre de nacimiento Rosemary BrownNombre en inglés Dana Rosemary Scallon Otros nombres DanaNacimiento 30 de agosto de 1951 (72 años) Islington, Londres, Reino UnidoLondres (Reino Unido) Residencia Baile Chláir Nacionalidad irlandesa estadounidenseLengua materna Inglés FamiliaHijos 4 EducaciónEducada en Thornhill College Información profesionalOcupación Cantante, PolíticaAños activa 1967–presenteCargos ocupados Eurodiputado por Connacht–Ulster&...

 

Southern Grampians Shire Local Government Area van Australië Locatie van Southern Grampians Shire in Victoria Situering Staat Victoria Hoofdplaats Hamilton Coördinaten 37°31'0ZB, 142°2'0OL Algemene informatie Oppervlakte 6.652 km² Inwoners 16.831 (juni 2006) Portaal    Australië Southern Grampians Shire is een Local Government Area (LGA) in Australië in de staat Victoria. Southern Grampians Shire telt 16.831 inwoners. De hoofdplaats is Hamilton.

Motorsport track in the United States Auto Club SpeedwayD-shaped oval (1997–2023)Location9300 Cherry AvenueFontana, CaliforniaTime zoneUTC-8 (UTC-7 DST)Capacity122,000 (total)[1]OwnerNASCAR (2019–2023)International Speedway Corporation (1999–2019)OperatorNASCAR (1999–2023)Broke groundNovember 22, 1995; 28 years ago (1995-11-22)OpenedJune 20, 1997; 26 years ago (1997-06-20)ClosedFebruary 27, 2023; 9 months ago (2023-02-27)Co...

 

1985 single by Eurythmics Would I Lie to You?Single by Eurythmicsfrom the album Be Yourself Tonight B-sideHere Comes That Sinking FeelingReleased9 April 1985 (1985-04-09)[1]Length4:22LabelRCASongwriter(s) Annie Lennox David A. Stewart Producer(s)David A. StewartEurythmics singles chronology Julia (1985) Would I Lie to You? (1985) There Must Be an Angel (Playing with My Heart) (1985) Music videoWould I Lie to You? on YouTube Would I Lie to You? is a song written and perf...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (ديسمبر 2015) إي تي آي كاتاليستمعلومات عامةنوع مشغل نظام التشغيل مايكروسوفت ويندوز النموذج المصدري حقوق التأليف والنشر محفوظة المطورون ATI Technologies معلومات تقنيةالإصدار ال

Indian film festival 44th International Film Festival of IndiaAwarded forBest of World cinemaPresented byDirectorate of Film FestivalsPresented on30 November 2013Hosted byTisca ChopraGulshan DevaiahOfficial websitewww.iffigoa.orgHighlightsBest Feature FilmBeatriz's WarLifetime achievementJiri Menzel ← 43rd International Film Festival of India 45th → The 44th International Film Festival of India was held on 20 to 30 November 2013 in Goa.[1][2][3]&#...

 

Town in Union County, New Jersey, United States Town in New Jersey, United StatesWestfield, New JerseyTownDowntown Westfield SealMap of Westfield in Union County. Inset: Location of Union County highlighted in the State of New Jersey.Census Bureau map of Westfield, New JerseyWestfieldLocation in Union CountyShow map of Union County, New JerseyWestfieldLocation in New JerseyShow map of New JerseyWestfieldLocation in the United StatesShow map of the United StatesCoordinates: 40°39′06″N 74...

 

Monotypic genus of plants in the borage family Boraginaceae Myosotidium Scientific classification Kingdom: Plantae Clade: Tracheophytes Clade: Angiosperms Clade: Eudicots Clade: Asterids Order: Boraginales Family: Boraginaceae Genus: MyosotidiumHook. Species: M. hortensia Binomial name Myosotidium hortensia(Decne.) Baill. Synonyms[1][2] Myosotis hortensia Decne. Cynoglossum cyaneum Hook.f. Cynoglossum nobile Hook.f. Myosotidium nobile (Hook.f.) Hook. Myosotidium is a genu...

Breiter Taler (Erbländischer Taler) Johann Georgs II. von 1662 für den normalen Zahlungsverkehr, Mmz. C–R und Eichel, Münzstätte Dresden, Durchmesser 46 mm Bistum Eichstätt, doppelter Sedisvakanztaler, breiter Taler von 1790, (Durchmesser 53 mm) Die numismatische Bezeichnung breiter Taler betrifft Taler, deren Durchmesser bei gleichem Münzgewicht größer ist als der normale Talertyp, folglich größer als 44 Millimeter. Inhaltsverzeichnis 1 Erläuterung 2 Siehe auch 3 Literatur ...

 

Korean term for rocks (natural or artistic) which resemble landscapes This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Suseok – news · newspapers · books · scholar · JSTOR (September 2014) (Learn how and when to remove this template message) SuseokHangul수석Hanja水石 or 壽石Revised RomanizationsuseokMcC...

 

لويس أنطوان أوغسطين بافي   معلومات شخصية الميلاد 18 مارس 1805[1]  روآن  الوفاة 16 نوفمبر 1866 (61 سنة) [1]  الجزائر  مواطنة فرنسا  مناصب مطران   تولى المنصب11 مارس 1846  الحياة العملية المهنة كاهن كاثوليكي،  وأسقف كاثوليكي  اللغات الفرنسية  الجوائز  ...

2005 novel by E. L. Doctorow The March Cover of the first editionAuthorE.L. DoctorowCountryUnited StatesLanguageEnglishGenreHistorical fictionPublisherRandom HousePublication date2005Media typePrint (Hardcover and Softcover)Pages384 ppISBN0-375-50671-3OCLC60596218Dewey Decimal813/.54 22LC ClassPS3554.O3 M37 2005 The March: A Novel is a 2005 historical fiction novel by E. L. Doctorow. It won the PEN/Faulkner Award for Fiction (2006) and the National Book Critics Circle Award/Fiction ...

 

Pakistani TV series or programme DastaanA promotional newspaper advertisementAlso known asWaqt Ne Kiya Kya Haseen Sitam (India) حب عبر الحدود (MENA)GenrePeriod dramaBased onBanoby Razia ButtWritten bySamira FazalDirected byHaissam HussainStarring Fawad Khan Sanam Baloch Mehreen Raheel Saba Qamar Ahsan Khan Theme music composerMohsin Allah DittaCountry of originPakistanOriginal languageUrduNo. of episodes23 (One special episode)ProductionProducerMomina DuraidCinematographyFarha...

 

Municipal police department in Boston, Massachusetts This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Boston Police Department – news · newspapers · books · scholar · JSTOR (February 2012) (Learn how and when to remove this template message) Boston Police DepartmentPatch of Boston Police DepartmentBadge of Bo...

You can help expand this article with text translated from the corresponding article in Polish. (September 2022) Click [show] for important translation instructions. View a machine-translated version of the Polish article. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the English Wiki...

 

18th-century neoclassical palace in the city of Saverne in Alsace, France Park façade with colonnade and central risalit, Marne-Rhine Canal in the foreground Town façade The Château before the fire of 1779 The Château at the end of the 18th century Rohan Castle (French: Château des Rohan, German: Rohan-Schloss), also known as Château Neuf (New Castle), is an eighteenth-century neoclassical palace in the city of Saverne in Alsace, France. It was one of the residences of Archbishops of St...

 

1917 German filmWedding in the Eccentric ClubDirected byJoe MayWritten byFritz LangJoe MayProduced byJoe MayStarringHarry LiedtkeKäthe HaackBruno KastnerCinematographyCarl HoffmannProductioncompanyMay-FilmRelease date27 April 1917CountryGermanyLanguagesSilentGerman intertitles Wedding in the Eccentric Club (German: Die Hochzeit im Excentricclub) is a 1917 German silent crime action film directed by Joe May and starring Harry Liedtke, Käthe Haack and Bruno Kastner.[1] It was part of ...

This user is one of the 40 most active English Wikipedians of all time. Requests for adminship and bureaucratship update No current discussions. Recent RfAs, recent RfBs: (successful, unsuccessful) Archives 1, 2, 3, 4, 5, 6, 7, 8, 9, 1011, 12, 13, 14, 15, 16, 17, 18, 19, 2021, 22, 23, 24, 25, 26, 27, 28, 29, 3031, 32, 33, 34, 35, 36, 37, 38, 39 AFC Backlog Drive GOCE February blitz wrapup Guild of Copy Editors Wikipedia:WikiProject Guild of Copy Editors/Blitzes/February 2014 wrap-up Participa...

 

2016 Philippine television series This article is about the 2016 Philippine television series. For other TV (mini-)series with similar names, see The Story of Us (disambiguation). The Story of UsTitle cardGenre Drama Romance Developed by Malou N. Santos Des M. de Guzman Written by Reign Loleng Maan Dimaculangan-Fampulme Directed by Richard V. Somes Will Fredo Cathy Garcia-Molina Starring Kim Chiu Xian Lim Music byFrancis ConcioOpening themeKailangan Kita by Angeline QuintoComposerOgie Alcasid...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!