番人とは? わかりやすく解説

Weblio 辞書 > 同じ種類の言葉 > 社会 > 社会一般 > > 番人の意味・解説 

ばん‐にん【番人】

読み方:ばんにん

番をする人。見張りをする人。


番兵

読み方ばんぺい
別名:番人
【英】Sentinel

番兵とは、プログラミングテクニック1つであり、処理範囲境界特定の値目印として置いておくことで、プログラム構造シンプルにする手法のことである。

検索時に検索範囲の後に検索する値と同じデータ置いておくと、最後には必ず見つかるために、値の比較のたびに毎回検索範囲終了かどうか確認する必要がなく、余計な手続きが減る。検索成功した際に、それが番兵の位置ならば、実際には見つからなかったことになる。

このようにしてループ内の処理を減らすことは高速化役に立ち過去にはテクニックとして重宝されたが、初心者には意図見抜けない場合もあり、コンピュータ性能上がった現在ではその効果薄れている。

なお、リスト構造においてはデータ格納されないが、必ずリンク先存在することを保証し処理を簡潔にするために、番兵ノードというテクニックもある。


番人

読み方:バンニン(bannin)

(1)番をする人。
(2)江戸時代蝦夷地の各場所にあって支配人通詞補佐をし、直接アイヌの人々使役する和人


番人

作者飛鳥部勝則

収載図書黒い遊園地異形コレクション
出版社光文社
刊行年月2004.4
シリーズ名光文社文庫


番兵

(番人 から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/22 02:53 UTC 版)

ナビゲーションに移動 検索に移動

番兵(ばんぺい、: sentinel)は基地、野営地の出入りを警備する任務に就く兵士を指す。歩哨とも言う。

転じてプログラミング用語としては、データの終了を示すために配置される特殊なデータを指す。番人(ばんにん)とも言う。以下ではこの意味について示す。

実際にはこの用語は、微妙に異なる以下の2つの意味で使われる。

  • 実データには出現しない、データの終了を表すための専用の値
  • 入力データを処理するループの終了条件が複数ある場合に、条件判定の数を削減するために置くダミーのデータ

終了を表すための専用の値

主に可変長データの終了を識別するために、終了を示す記号として予約された値。

番兵の具体例としては、LISPで無効値を示すNILや、C言語の文字列終端を示すヌル文字(\0)などがある。また、ポインタを扱う言語ではヌルポインタが定義されており、線形リスト木構造などの終端を示すために使われる。


番兵を含むデータを処理するプログラムは、通常はループで入力データを処理しており、新たなデータを取得するとまず番兵か否かを判定する条件分岐を実行する。以下に、C言語における文字列比較関数 strcmp の実装例を示す。

int strcmp(const char s[], const char t[])
{
    int i = 0;
    while (s[i] != '\0' && t[i] != '\0') {
        /* どちらかの文字列に番兵が現れたら終了 */
        if (s[i] != t[i]) {
            break;        /* 不一致箇所を検出したら終了 */
        } else {
            i++;          /* 一致している場合は次の文字へ */
        }
    }
    return s[i] - t[i];
}

実データに出現する値だと、実データなのか終了なのか判断できないため、実データとしては出現しない値を使う必要がある。C言語の getchar 関数では、入力データとして char 型のすべての値が出現する可能性があるため、char 型の範囲では番兵のための値を確保することができない。そのため getchar 関数の返値の型は、より広い範囲の値を扱える int 型になっており、入力データを unsigned char 型の範囲の値として扱い、unsigned char 型としては出現しない値を番兵EOFとして使用している(-1を使う処理系が多い)。

コンピュータで可変長データを表現する方法は、末尾に番兵を置く方法と、長さを別途与える方法の2種類に大別できる。

条件判定の数を削減するために置くダミーのデータ

ループの終了条件が複数ある場合に、条件判定の数を削減するために置くダミーのデータ。この意味での番兵を使った最適化技法を番兵法(-ほう)と呼ぶ。

まず、1の語義に近い例を見る。

以下のC言語プログラムは、整数 entry と要素数 len の配列 a が与えられたときに、a[i] <= entry < a[i+1] となる添字 i を求める。ただし a[len-1] <= entry のときは、a[len] は存在しないが、len-1 を返す。また entry < a[0] のときは -1 を返す。

int selectEdge(int entry, int a[], size_t len)
{
    int i;
    for (i = len - 1; i >= 0; i--) {
        if (a[i] <= entry)
            break;
    }
    return i;
}

このプログラムには、ループ終了判定として i >= 0a[i] <= entry の2つの条件が現れる。しかし、a[0] にダミーのデータとして、常に a[0] < entry を満たす値を入れておけば、以下のように単一の終了条件に書き直すこともできる。

int selectEdge(int entry, int a[], size_t len)
{
    int i;
    for (i = len - 1; ; i--) {
        if (a[i] <= entry)
            break;
    }
    return i;
}

番兵法はループ中の条件判断を削減できるため、実行時間の削減が非常に重要な場合によく検討される。1 回の条件判断にかかる時間は短くても、ループで繰り返す場合には大きな差となる場合がある。しかしソース上で終了条件がわかりにくくなる可能性も高く、現代の高速化したコンピュータにおいては必ずしも歓迎される技法ではない。採用にあたっては、その利点・欠点を十分に考慮する必要がある。

関連項目


番人

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/19 18:16 UTC 版)

自由人HERO」の記事における「番人」の解説

乱世 天上4兄弟長男異名:人斬り乱世天上門の番人。 超神器の1つであり、振るたびに自らの命を削る呪い刀でもある破修羅(バシュラ)の所持者。 ガマ仙人 遥か上空から地上を見つめる仙人王の称号賜るのもこの人美少年好きの変態で、普段髭の生えたの姿だが、男とキスをすると元の姿である美形騎士に戻る。何故の姿に変えられているのかは不明元ネタはおそらく作者別作品『変身王子 ケエル』と思われる魔剣1つであり呪い刀であるダークナイト作り乱世不在代わりに天上門の番人となる。 『PAPUWA』にも登場

※この「番人」の解説は、「自由人HERO」の解説の一部です。
「番人」を含む「自由人HERO」の記事については、「自由人HERO」の概要を参照ください。

ウィキペディア小見出し辞書の「番人」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

番人

出典:『Wiktionary』 (2021/08/15 12:21 UTC 版)

名詞

 ばんにん

  1. をする人。

発音(?)

ば↗んに↘ん

「番人」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



番人と同じ種類の言葉


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「番人」の関連用語


2
100% |||||


4
96% |||||

5
96% |||||

6
96% |||||

7
堂守 デジタル大辞泉
96% |||||

8
島守 デジタル大辞泉
96% |||||

9
橋守 デジタル大辞泉
96% |||||

10
膳番 デジタル大辞泉
96% |||||

番人のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



番人のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【番兵】の記事を利用しております。
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの番兵 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの自由人HERO (改訂履歴)、ドドドドドッジ! (改訂履歴)、闇は集う (改訂履歴)、天啓のアリマリア (改訂履歴)、ハカイジュウ (改訂履歴)、クロム・ブレイカー (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Text is available under Creative Commons Attribution-ShareAlike (CC-BY-SA) and/or GNU Free Documentation License (GFDL).
Weblioに掲載されている「Wiktionary日本語版(日本語カテゴリ)」の記事は、Wiktionaryの番人 (改訂履歴)の記事を複製、再配布したものにあたり、Creative Commons Attribution-ShareAlike (CC-BY-SA)もしくはGNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS