【デジタル】 ビット、バイトについて

 3つめのブログ。
 元のブログ「ふシゼン」のカテゴリーが長々してきて、
 流れ的にも唐突感のある記事は分けたほうが良いのかな、
ということで、
 2度目のブログ分け。
 実のところ単にサブディレクトリ。
 科学 Science関係の記事引っ越し中。

 タイトルは「リサイコロ RE:SCICOLO」。

 手始めに
 ビット、バイトについて。

ビット bit

 ビット bitはデジタル(ディジタル) digital世界の最小単位。
 2進数の1桁が1ビット。0か1。

 2ビットは2進数(0 or 1)の2桁。
  00
  01
  10
  11
  4通り

 3ビット 000~111
  000 001
  010 011
  100 101
  110 111
  8通り

 4ビット 0000~1111  
  0000 0001 0010 0011
  0100 0101 0110 0111
  1000 1001 1010 1011
  1100 1101 1110 1111
  24=16通り

 5ビット 00000~11111
  25=32通り ・・・ 4ビットの倍

 6ビット 000000~111111
  26=64通り ・・・ 4ビットの倍倍(4倍)

 7ビット 0000000~1111111
  27=128通り ・・・ 4ビットの8倍

 8ビット 00000000~11111111
  28=162=256通り ・・・ 4ビットの16倍、16 × 16

 16ビット 0000000000000000~1111111111111111
  216=256 × 256=65536通り

 1、0のビットに電流ON・OFF(電圧有・無)が対応 ⇒ 身近なコンピューター。

 4ビットのマイコン、8ビットのパソコン(PC)から、
 16ビット、32ビットのマイコン、PC、
 今のPCは64ビットが主流。

 CPUで1度に32ビット処理できるのが32ビットPC。
 1度に64ビット処理できるのが64ビットPC。
 CPUのx86は32ビット用、x64は64ビット用。

 32ビット 00000000000000000000000000000000~11111111111111111111111111111111
  232=65536 × 65536=42億9496万7296通り

 64ビット 0000000000000000000000000000000000000000000000000000000000000000~1111111111111111111111111111111111111111111111111111111111111111
  うわーーー
  264=42億9496万7296 × 42億9496万7296=1.845×1019(約1845京)通り

 スーパー・コンピューター(スパコン)では128ビットPCもある。

 128ビット
  2128=1.845×1019 × 1.845×1019=3.4×1038(約340澗)通り

 量子コンピューターのビット(=量子ビット)は別の原理。

バイト byte

 キロバイト KB、メガバイト MB、ギガバイト GBなど
 バイト B、byteがデータ容量の単位としてよく使われている。
   
 1バイト byte = 8ビット bit。 
 7ビットで128通り、8ビットで256通りなので、
 アルファベット(大文字・小文字)、0~9の数字、コンピューターのキーボードにある記号などが収まる。
 半角の文字・記号は1バイト文字。
  ASCIIコード、

 2バイト = 8ビット + 8ビット = 16ビット。
 65536通りなので漢字など多くの文字が収まる。
 全角文字は2バイト文字。

 4バイト文字もある。

 4バイト = 32ビット。
 約43億通り。
 結構な数だが、世界人口より少ない。

 IPアドレスのIPv4が32ビット。
 IPv6は128ビット。

 色(カラー)の割り当ては、
 インデックスカラー
  1バイト = 8ビット。256色。
 ハイカラー
  2バイト = 16ビット。65536色。
 フルカラー
  3バイト = 24ビット。1677万7216色(=224)。

 8バイト = 64ビット
 16バイト = 128ビット
 64ビット、128ビットの組み合わせは天文学的数字になるが、
 データ容量としては単に0 or 1の64桁、128桁の羅列にすぎない。

 1000バイト = 8000ビットで1キロバイト KBではなく、
 1024バイト = 8192ビットで1KB。

 我々は10進数 0~9に慣れているので
 103=1000が区切りになるが、
 デジタル 2進数 0、1の世界は
 210=1024のほうが区切りになる。

 計算上、2バイト文字(全角文字) 512文字で1KB。

 当ブログにアップロードしている写真画像(JPEGファイル)は数百KB。

 1メガバイト MB = 210KB = 1024KB
  = 220バイト = (1024 × 1024)バイト = 1048576バイト

 1ギガバイト GB = 210MB = 1024MB
  = 230バイト = 10243バイト = 10億7374万1824バイト

 1テラバイト TB = 210GB = 1024GB
  = 240バイト = 10244バイト = 1.1×1012(約1.1兆)バイト