• ようこそゲストさん!

たっつんさんの日記

(SNS全体・外部に公開(Web全体に公開))

2012年
12月28日
01:06 たっつんさん

2進数における10000000は128か−128か?

  • 英語の話題
  • その他
  • 単語
2進数(binary)といえばITの基本中の基本、ですが、ふとこんな疑問に出会いました。

2進数で数えていくと、10進法(the decimal system)の128は、

「10 000 000」

です。8桁ですが、「桁」をITの世界では bit と呼ぶそうです。 つまり8bit です(そして1Byte でもあります)。

数学の復習になりますが、情報学的に2進数によりマイナス表記をしたい場合、「2の補数[complement](足すと桁上がりする数値)」という概念を利用するそうです。ちなみに、2進数の数値の1と0を反転させ、1を足しても同じです。さらに負数[negative number]の場合、頭の1がマイナスを表す、と決めるそうです。例えば、

 00 000 011(=3)に対する補数は、
 1 111 101(=-3)です。

 8bitで考える場合、繰り上げの桁は無視される、つまりコンピューターに認識されない、ので、これらの2進数を足し合わせると、

 00 000 000(=0)になるという算段です。は認識されていません。

 127の場合は、
 01 111 111(=127)
 10 000 001(=-127)
 で、足し合わせるとやはり
 100 000 000

 となります。
 こういう考えに沿って考えると、10進法における128は2進数では、
10 000 000 ですが、これの2の補数を考えると、同じく10 000 000となります。
 で、どっちなんだろうなぁー、と思っていたところ、いいサイトがありました。
http://www.infonet.co.jp/ueyama/ip/binary/signedbin.html

 要は、「符号付き2進数(signed binary)」と定義するかしないか、だけの話でした。
 先ほど10 000 001 は十進法で言う-127と表記しました。上記の考え方で行くと、これが符号なしだと129(=10 000 000[=128] + 00 000 001[=1])になるわけです。

 上記のサイトの記事は、もう〜5年くらい前に文系大学の一般教養科目として書かれたものらしいですが、かなり詳しいデス! パソコンの歴史とか当時の写真付きだし、質としてはいいと思います。これは使える!

 2進法はコンピューターを理解するための目的だったとありますが、4000年前くらいの古代のインダス文明の人たちには、2進法を使っていた形跡があるとかなんとか! 驚きです。
http://www.infonet.co.jp/ueyama/ip/episode/indus.html

 パソコンの歴史って、どれが現代のパソコンの直接の原型モデルかを定義することは難しいらしいです。 太平洋戦争前後のものが一応の原型とされる事が多いみたいです。もちろん戦争利用目的の産物だったりしますが。
 プログラムとかそのものの起源をさかのぼると20世紀初期くらいまで行くと思う。確かそう。エイダとかいう女性が初プログラマーだとかなんとか。人類の2重の手間を省いて行こうという、効率化を目指し続けた結果が今日なんだなぁ、と先代の努力と英智に感謝です。

↓似た内容が紹介されている。てことは、これ理解すると大学の単位としては情報処理概論で「S」ないし「優」が取れちゃうレベルってことかな。図解雑学シリーズ、侮れない!

 「291円」ですよ。私立大学の年間学費が100万超で、1年に40単位、一科目2単位だと仮定すると、情報処理概論ひとつで

 2万5千円/単位×2単位=5万円、

 払っている計算になります。1学期で13回くらいの授業があるとすると、

5万円÷13回≒3,800円/回(設備費とか人件費とか込み込みで…)

 大学って何なんですかね…。知的財産商売って原価はいったいいくらなの?
  • 総アクセス数(11,125)
  • 拍手拍手(1)
  • お気に入りお気に入り(0)

コメント

1番~2番を表示

2012年
12月30日
16:05
aki.akiさん

コンピュターやっている人でも、2進法を意識する人は少ないと思います。でも、私の勤め先では、unixを使っていて、ファイルのアクセス権を変更する時に、2進を10進にする時に指折り数えます。
111→(指折り)→あ、7だ!と。(周囲に笑われたことあり!)最近では、4+2+1と計算かな。

他の人はどうしているのか不明です。

2012年
12月30日
17:51
たっつんさん

aki.akiさん

>コンピュターやっている人でも、2進法を意識する人は少ないと思います。

 そうなんですね。確かにある種、原始的な話ではありますからね。ビジネスの現場で、そういった原理原則が意識される事は少ないのでしょう。
 私は、このパソコンの仕組みや成り立ちに最近興味があります。数学が出来るとパソコンが出来ると言われてきましたが、それがなぜなのか、納得する理由が自分の中に欲しい、という感じです。
 0と1という2進法や論理がどうコンピューターと関わっているのか、等々、どうやってここまできたのか知りたい、そんな感じです。

1番~2番を表示