ビット

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

ビット (bit) は、情報じょうほう理論りろんコンピューティングおおくのデジタル通信つうしんにおける情報じょうほう基本きほん単位たんい英語えいごばんである。ビットは、コンピューティングでのストレージやデジタル通信つうしんにおけるシンボルのことも意味いみし、そのストレージ・シンボルには、(情報じょうほうりょう単位たんいとしての)1ビットの情報じょうほう記憶きおく符号ふごうできる。進数しんすうの1けたのことであり、その名前なまえbinary digitの2一部いちぶわせたかたりかばん)である[1]

情報じょうほう理論りろんでは、1ビットは通常つうじょうひとしいかくりつで0または1である進数しんすうランダム変数へんすう情報じょうほうりょう情報じょうほうエントロピー[2]、またはそのような変数へんすう判明はんめいしたときにられる情報じょうほうとして定義ていぎされる[3][4]情報じょうほうりょう単位たんいとして、このビットはクロード・シャノンにちなんで名付なづけられたシャノンともばれる[5]厳密げんみつには、ビットはデータりょう(ストレージりょう)の単位たんい、シャノンは情報じょうほうりょう単位たんい区別くべつするが、歴史れきしてき経緯けいいにより後者こうしゃ前者ぜんしゃおな単位たんい(ビット)で表現ひょうげんされ、あやまりの可能かのうせい無視むししてよければNビットのストレージによりNビットの情報じょうほうりょう保持ほじできる。

1ビットの情報じょうほうは、進数しんすうの1けたとして論理ろんりあらわし、2つののうち1つのみをつ。2つの状態じょうたいなんらかの機構きこうによって物理ぶつりてき実装じっそうできる。この状態じょうたいは、もっと一般いっぱんてきには「0」/「1」としてあらわされるが、しん/にせ (True/False)、yes/no、+/-、on/offなどのほか表現ひょうげん可能かのうである。この実際じっさい物理ぶつりてき状態じょうたいとの対応たいおう慣習かんしゅう問題もんだいであり、おなじデバイスやプログラムうちでもことなるてを使用しようすることができる。

ビットの単位たんい記号きごうは、IEC 80000-13:2008 では "bit"、IEEE 1541-2002IEEE Std 260.1-2004英語えいごばんでは"b"(小文字こもじのビー)を推奨すいしょうしている。一般いっぱんに8けた進数しんすうのグループ(8ビット)は「1バイト (byte)」とばれるが、歴史れきしてきにはバイトのサイズは厳密げんみつには定義ていぎされていない。

歴史れきし[編集へんしゅう]

データを離散りさんビットによってあらわ方法ほうほうは、バジル・ブション英語えいごばんジャン=バプティスト・ファルコンフランス語ふらんすごばんによって1732ねん発明はつめいされジョゼフ・マリー・ジャカールが1804ねん開発かいはつしたパンチカード使用しようされ、のちセミオン・コルサコフ英語えいごばんチャールズ・バベッジハーマン・ホレリス、およびIBMなどの初期しょきのコンピュータメーカーにより採用さいようされた。また、鑽孔さんこうかみテープ同様どうようかんがえによるものであった。これらすべてのシステムで、媒体ばいたい(カードやテープ)は概念的がいねんてきあな位置いち配列はいれつ保持ほじしていた。それぞれの位置いちにおけるあな有無うむが1ビットの情報じょうほう伝達でんたつした。ビットによる文章ぶんしょう符号ふごうは、モールス信号しんごう(1844ねん)や、テレタイプストックティッカー(1870ねん)などの初期しょきのデジタル通信つうしんでも使用しようされていた。

ラルフ・ハートレーは、1928ねん情報じょうほう対数たいすうてき計量けいりょう使用しよう提案ていあんした[6]クロード・シャノンは、1948ねん独創どくそうてき論文ろんぶん通信つうしん数学すうがくてき理論りろん』で「ビット」という言葉ことばはじめて使用しようした[7][8][9]。シャノンは、その言葉ことばは1947ねん1がつ9にちベル研究所けんきゅうじょジョン・テューキーいたメモにおいて"binary information digit"(進数しんすう情報じょうほうけた)をりゃくして"bit"といたことに由来ゆらいするとしている[7]。1936ねんヴァネヴァー・ブッシュは、当時とうじ機械きかいしきコンピュータで使用しようされていたパンチカードに保存ほぞんできる情報じょうほうりょうのことを"bits of information"(情報じょうほうのビット)といた[10]コンラート・ツーゼによって構築こうちくされた最初さいしょのプログラム可能かのうなコンピュータは、数値すうち進数しんすう表記ひょうき使用しようした。

物理ぶつりてき表現ひょうげん[編集へんしゅう]

ビットは、可能かのうな2つの別個べっこ状態じょうたい英語えいごばんのいずれかを保持ほじするデジタルデバイスやその物理ぶつりシステムによって格納かくのうできる。たとえばフリップフロップの2つの安定あんてい状態じょうたいスイッチの2つの位置いち電気でんき回路かいろ電圧でんあつまたは電流でんりゅうの2つのことなるレベル、2つのことなるひかり強度きょうどレベル、磁性じせいまたは電気でんき極性きょくせい英語えいごばんの2つの方向ほうこうDNAほんくさり方向ほうこうなどである。

ビットはいくつかの形式けいしき実装じっそうできる。ほとんどの最新さいしんのコンピュータデバイスでは、ビットは通常つうじょう電圧でんあつ電流でんりゅうのパルス、またはフリップフロップ回路かいろ電気でんき状態じょうたいによってあらわされる。

せい論理ろんり使用しようするデバイスの場合ばあい、1の数字すうじ(または「しん」(True) の論理ろんり)は、0の表現ひょうげんよりもよりたかせい電圧でんあつあらわされる。実際じっさい電圧でんあつは、部品ぶひん耐久たいきゅうせいやノイズたいせいなど、部品ぶひん特性とくせいおうじて決定けっていされる。たとえば、transistor-transistor logic (TTL) やその互換ごかんせいのある回路かいろでは、デバイスの出力しゅつりょく (Output) は、0が0.4ボルト (V) 以下いか、1が2.6ボルト (V) 以上いじょうあらわされる。入力にゅうりょく (Input) は、0.8 V以下いかは0、2.2 V以上いじょうは1、として認識にんしきするように設定せっていされている。

伝送でんそう処理しょり[編集へんしゅう]

ビットは、シリアル通信つうしんではいちに1つずつ、パラレル通信つうしんでは複数ふくすうのビットが同時どうじ送信そうしんされる。ビット演算えんざんでは、ビットを1つずつ処理しょりする場合ばあいがある。データ転送てんそう速度そくどは、通常つうじょう、kbit/sなどビット毎秒まいびょう (bit/s)にSI接頭せっとうをつけた単位たんいあらわされ、2しん接頭せっとう使用しようされない。

保存ほぞん[編集へんしゅう]

ジャカード織機しょっきやバベッジの解析かいせき機関きかんなどのもっと初期しょき電子でんし情報処理じょうほうしょり装置そうちでは、機械きかいてきなレバーやギアの位置いち、またはかみのカードテープ特定とくてい位置いちあな有無うむとしてビットが保存ほぞんされていた。ディスクリートロジックよう初期しょき電気でんきデバイス(エレベータ交通こうつう信号しんごう制御せいぎょ回路かいろ電話でんわ交換こうかん、コンラート・ツーゼのコンピュータなど)は、ビットを電気でんきリレーのオン・オフの状態じょうたいとしてあらわしていた。1940年代ねんだいからリレーが真空しんくうかんえられたとき、コンピュータの設計せっけいしゃは、水銀すいぎん遅延ちえんせんつたわる圧力あつりょくパルス、ウィリアムスかん内面ないめん蓄積ちくせきされる電荷でんかフォトリソグラフィ技術ぎじゅつによってガラスの円盤えんばん印刷いんさつされる不透明ふとうめいなスポットなど、様々さまざま保存ほぞん方法ほうほう実験じっけんした。

1950年代ねんだいおよび1960年代ねんだいに、これらの方法ほうほうは、磁気じきコアメモリ磁気じきテープ磁気じきドラムメモリ磁気じきディスクなどの磁気じき記憶きおく装置そうちおおきくってわられた。磁気じき記憶きおく装置そうちでは、ビットはつよ磁性じせいフィルムの特定とくてい領域りょういき磁性じせい方向ほうこう、またはある方向ほうこうから方向ほうこうへの極性きょくせい変化へんかとして表現ひょうげんされる。1980年代ねんだい開発かいはつされた磁気じきバブルメモリでもおな原理げんり使用しようされ、鉄道てつどう切符きっぷクレジットカードなど磁気じきストライプカード使用しようされている。

DRAMなどの現代げんだい半導体はんどうたいメモリでは、ビットはコンデンサ保存ほぞんされた電荷でんかの2つのレベルであらわされる。特定とくていのタイプのプログラマブルロジックデバイスRAM では、回路かいろ特定とくていのポイントでのしるべでんパスの有無うむによってビットがあらわされる。ひかりディスクでは、ビットは反射はんしゃめんじょう微小びしょうなピットの有無うむとしてあらわされる。1次元じげんバーコードでは、ビットは交互こうごくろしろせんふとさとしてあらわされる。

単位たんい記号きごう[編集へんしゅう]

ビットは、国際こくさい単位たんいけい (SI) では定義ていぎされていないが、国際電気こくさいでんき標準ひょうじゅん会議かいぎ (IEC) が発行はっこうしたIEC 60027では、進数しんすう単位たんい記号きごうは "bit" であり、キロビットをあらわす "kbit" などすべての倍数ばいすう使用しようされると規定きていしている[11]。ただし、小文字こもじの "b" もひろ使用しようされており、IEEE 1541-2002などで推奨すいしょうされている。慣習かんしゅうてきに、大文字おおもじの "B" はバイトをあらわすのに使用しようされ、両者りょうしゃあいだには8ばいがある。

複数ふくすうのビットをあらわ単位たんい[編集へんしゅう]

ビット単位たんい一覧いちらん
SI接頭せっとう
2しん接頭せっとう
IEC 60027-2による)
単位たんい 記号きごう SI基準きじゅん 慣用かんよう 単位たんい 記号きごう
キロビット kbit 103 210 キビビット Kibit 210
メガビット Mbit 106 220 メビビット Mibit 220
ギガビット Gbit 109 230 ギビビット Gibit 230
テラビット Tbit 1012 240 テビビット Tibit 240
ペタビット Pbit 1015 250 ペビビット Pibit 250
エクサビット Ebit 1018 260 エクスビビット Eibit 260
ゼタビット Zbit 1021 270 ゼビビット Zibit 270
ヨタビット Ybit 1024 280 ヨビビット Yibit 280

伝統でんとうてき複数ふくすうのビットをあらわ情報じょうほう単位たんい英語えいごばんがいくつか使用しようされてきた。もっと一般いっぱんてきなのは、1956ねん6がつワーナー・ブッフホルツ英語えいごばんによってつくられた単位たんいバイト」である。これは、歴史れきしてきにコンピュータで1つのキャラクタ符号ふごう使用しようされるビットのあつまりをあらわすために使用しようされた[12][13][14][15][16]。このため、おおくのコンピュータアーキテクチャで基本きほんてきアドレス単位たんいとして使用しようされた。過去かこには様々さまざまなビットすうのバイトが使用しようされてきたが、今日きょうでは8ビットを1バイトとする実装じっそうひろ使用しようされている。ただし、バイトのおおきさが基礎きそとなるハードウェア設計せっけい依存いぞんするという曖昧あいまいさを回避かいひするために、8ビットであることを明示めいじてきしめ単位たんいオクテット」が定義ていぎされている。

通常つうじょう、コンピュータは、「ワード」とばれる固定こていサイズのビットのグループ単位たんい操作そうさおこなう。バイトと同様どうように、1つのワードにふくまれるビットすうもハードウェア設計せっけいによってことなる。通常つうじょうは8〜80ビットだが、一部いちぶ専用せんようコンピュータではさらにおおきくなる。21世紀せいき初頭しょとうにおいて、パーソナルコンピュータやサーバコンピュータのワードサイズは32ビットまたは64ビットである。

国際こくさい単位たんいけいでは、基本きほんとなる単位たんいじゅう進数しんすう倍量ばいりょう分量ぶんりょうあらわSI接頭せっとう定義ていぎされている。これは一般いっぱんてきにビットやバイトにたいしても適用てきようされている。ただし、本来ほんらいじゅう進数しんすう倍量ばいりょう(1000のべきじょう)ではなく、1024 (=210)のべきじょうあらわすのに使用しようされることもあり、曖昧あいまいさの回避かいひのために1024のべきじょうであることを明示めいじするべつ接頭せっとう定義ていぎされている(2しん接頭せっとう参照さんしょう)。

情報じょうほう容量ようりょう情報じょうほう圧縮あっしゅく[編集へんしゅう]

ストレージの情報じょうほう容量ようりょう通信つうしん情報じょうほう容量ようりょうがビットやビット毎秒まいびょうあらわされるとき、おおくの場合ばあいでバイナリデータを格納かくのうするコンピュータハードウェアの容量ようりょうである進数しんすう[17]。ストレージの情報じょうほう容量ようりょうは、そこに格納かくのうされる情報じょうほうりょう上限じょうげんぎない。ストレージにふくまれるかくビットの2つの可能かのうあたい(1と0)のかずひとしくない場合ばあい、ストレージにふくまれる情報じょうほう情報じょうほうりょうは、「情報じょうほう容量ようりょう」としてあらわされる数値すうちよりもちいさくなる。実際じっさい完全かんぜん予測よそく可能かのうならば、そのりからはあらたな情報じょうほうられない(確実かくじつせい解決かいけつ発生はっせいせず、したがって情報じょうほう利用りようできないため、エントロピーはゼロである)。nビットのストレージを使用しようするコンピュータファイルにふくまれる情報じょうほうm < nビットのみの場合ばあい、その情報じょうほう原則げんそくとしてすくなくとも平均へいきんやくmビットで符号ふごうできる。この原則げんそくは、データ圧縮あっしゅく技術ぎじゅつ基礎きそである。最適さいてき圧縮あっしゅくされた場合ばあい伝送でんそう容量ようりょう情報じょうほうりょうちかづく[17]

ビット単位たんい操作そうさ[編集へんしゅう]

一部いちぶビット演算えんざんのプロセッサ命令めいれいbit setなど)は、データをビットの集合しゅうごう解釈かいしゃくして操作そうさするのではなく、個別こべつのビットを操作そうさするレベルで動作どうさする。

1980年代ねんだいビットマップコンピュータディスプレイが一般いっぱんてきになると、一部いちぶのコンピュータでは、画面がめんじょう特定とくてい矩形くけい領域りょういき対応たいおうするビットを設定せってい・コピーするための特殊とくしゅビットブロック転送てんそう命令めいれい("bitblt"または"blit")を提供ていきょうした。

バイトワードといった単位たんいにおけるビット位置いち定義ていぎCPU によってことなる。みぎはし数値すうちとしての最小さいしょうLSB)をだい0ビットにしている流儀りゅうぎと、左端ひだりはし数値すうちとしての最大さいだいMSB)をだい0ビットにしている流儀りゅうぎ両方りょうほうがある。現在げんざい前者ぜんしゃおおい。このちがいをエンディアンといい、前者ぜんしゃをリトルエンディアン、後者こうしゃをビッグエンディアンという。

関連かんれん項目こうもく[編集へんしゅう]

脚注きゃくちゅう[編集へんしゅう]

  1. ^ Coded Character Sets, History and Development (1 ed.). Addison-Wesley Publishing Company, Inc.. (1980). p. x. ISBN 978-0-201-14460-4. LCCN 77--90165. オリジナルの2016-11-18時点じてんにおけるアーカイブ。. https://web.archive.org/web/20161118230039/https://books.google.com/books?id=6-tQAAAAMAAJ 2016ねん5がつ22にち閲覧えつらん  [1]
  2. ^ Understanding Information Transmission, (2006) 
  3. ^ Digital Communications, (2006) 
  4. ^ IEEE Std 260.1-2004
  5. ^ Units: B”. 2016ねん5がつ4にち時点じてんオリジナルよりアーカイブ。2019ねん10がつ1にち閲覧えつらん
  6. ^ Information theory and coding. McGraw-Hill. (1963) 
  7. ^ a b “A Mathematical Theory of Communication”. Bell System Technical Journal 27 (3): 379–423. (July 1948). doi:10.1002/j.1538-7305.1948.tb01338.x. hdl:11858/00-001M-0000-002C-4314-2. オリジナルの1998-07-15時点じてんにおけるアーカイブ。. https://web.archive.org/web/19980715013250/http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf. "The choice of a logarithmic base corresponds to the choice of a unit for measuring information. If the base 2 is used the resulting units may be called binary digits, or more briefly bits, a word suggested by J. W. Tukey." 
  8. ^ “A Mathematical Theory of Communication”. Bell System Technical Journal 27 (4): 623–666. (October 1948). doi:10.1002/j.1538-7305.1948.tb00917.x. hdl:11858/00-001M-0000-002C-4314-2. 
  9. ^ A Mathematical Theory of Communication. University of Illinois Press. (1949). ISBN 0-252-72548-4. オリジナルの1998-07-15時点じてんにおけるアーカイブ。. https://web.archive.org/web/19980715013250/http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf 
  10. ^ “Instrumental analysis”. Bulletin of the American Mathematical Society 42 (10): 649–669. (1936). doi:10.1090/S0002-9904-1936-06390-1. オリジナルの2014-10-06時点じてんにおけるアーカイブ。. https://web.archive.org/web/20141006153002/http://projecteuclid.org/euclid.bams/1183499313. 
  11. ^ National Institute of Standards and Technology (2008), Guide for the Use of the International System of Units. Online version. Archived 3 June 2016 at the Wayback Machine.
  12. ^ Why is a byte 8 bits? Or is it?”. Computer History Vignettes (2000ねん8がつ8にち). 2017ねん4がつ3にち時点じてんオリジナルよりアーカイブ。2017ねん4がつ3にち閲覧えつらん。 “[…] With IBM's STRETCH computer as background, handling 64-character words divisible into groups of 8 (I designed the character set for it, under the guidance of Dr. Werner Buchholz, the man who DID coin the term "byte" for an 8-bit grouping). […] The IBM 360 used 8-bit characters, although not ASCII directly. Thus Buchholz's "byte" caught on everywhere. I myself did not like the name for many reasons. […]”
  13. ^ “7. The Shift Matrix”. The Link System. IBM. (1956-06-11). pp. 5–6. Stretch Memo No. 39G. オリジナルの2017-04-04時点じてんにおけるアーカイブ。. http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/06-07/102632284.pdf 2016ねん4がつ4にち閲覧えつらん. "[…] Most important, from the point of view of editing, will be the ability to handle any characters or digits, from 1 to 6 bits long […] the Shift Matrix to be used to convert a 60-bit word, coming from Memory in parallel, into characters, or "bytes" as we have called them, to be sent to the Adder serially. The 60 bits are dumped into magnetic cores on six different levels. Thus, if a 1 comes out of position 9, it appears in all six cores underneath. […] The Adder may accept all or only some of the bits. […] Assume that it is desired to operate on 4 bit decimal digits, starting at the right. The 0-diagonal is pulsed first, sending out the six bits 0 to 5, of which the Adder accepts only the first four (0-3). Bits 4 and 5 are ignored. Next, the 4 diagonal is pulsed. This sends out bits 4 to 9, of which the last two are again ignored, and so on. […] It is just as easy to use all six bits in alphanumeric work, or to handle bytes of only one bit for logical analysis, or to offset the bytes by any number of bits. […]" 
  14. ^ “The Word "Byte" Comes of Age...”. Byte Magazine 2 (2): 144. (February 1977). https://archive.org/stream/byte-magazine-1977-02/1977_02_BYTE_02-02_Usable_Systems#page/n145/mode/2up. "[…] The first reference found in the files was contained in an internal memo written in June 1956 during the early days of developing Stretch. A byte was described as consisting of any number of parallel bits from one to six. Thus a byte was assumed to have a length appropriate for the occasion. Its first use was in the context of the input-output equipment of the 1950s, which handled six bits at a time. The possibility of going to 8 bit bytes was considered in August 1956 and incorporated in the design of Stretch shortly thereafter. The first published reference to the term occurred in 1959 in a paper "Processing Data in Bits and Pieces" by G A Blaauw英語えいごばん, F P Brooks Jr and W Buchholz英語えいごばん in the IRE Transactions on Electronic Computers, June 1959, page 121. The notions of that paper were elaborated in Chapter 4 of Planning a Computer System (Project Stretch), edited by W Buchholz, McGraw-Hill Book Company (1962). The rationale for coining the term was explained there on page 40 as follows:
    Byte denotes a group of bits used to encode a character, or the number of bits transmitted in parallel to and from input-output units. A term other than character is used here because a given character may be represented in different applications by more than one code, and different codes may use different numbers of bits (ie, different byte sizes). In input-output transmission the grouping of bits may be completely arbitrary and have no relation to actual characters. (The term is coined from bite, but respelled to avoid accidental mutation to bit.)
    System/360 took over many of the Stretch concepts, including the basic byte and word sizes, which are powers of 2. For economy, however, the byte size was fixed at the 8 bit maximum, and addressing at the bit level was replaced by byte addressing. […]"
     
  15. ^ Buchholz-1962Buchholz, Werner, ed. (1962), “Chapter 4: Natural Data Units” (PDF), Planning a Computer System – Project Stretch, McGraw-Hill Book Company, Inc. / The Maple Press Company, York, PA., pp. 39–40, LCCN 61--10466, オリジナルの2017-04-03時点じてんにおけるアーカイブ。, https://web.archive.org/web/20170403014651/http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/Buchholz_102636426.pdf 2017ねん4がつ3にち閲覧えつらん 
  16. ^ “A proposal for a generalized card code of 256 characters”. Communications of the ACM 2 (9): 19–23. (1959). doi:10.1145/368424.368435. 
  17. ^ a b Information in small bits Information in Small Bits is a book produced as part of a non-profit outreach project of the IEEE Information Theory Society. The book introduces Claude Shannon and basic concepts of Information Theory to children 8+ using relatable cartoon stories and problem-solving activities.

外部がいぶリンク[編集へんしゅう]