• ベストアンサー

2進法が取っつきにくい

今プログラムを学校で勉強しているのですが、2進法とか2の補数とかそのあたりが難しいです。もっと分かりやすく説明したサイトはないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

現在、「学校で教えている」側です。 まず2進数の手前、10進数の原理が、高校まででどうも、ちゃんと教えられていないようです。 ・桁の考え方 …… 1000の桁 =10の3乗 100の桁 =10の2乗 10の桁  =10の1乗 1の桁  =10の0乗 0.1の桁 =10の-1乗 0.01の桁 =10の-2乗 …… 2進数の場合は、右辺の10が「2」になり、左辺が「2のなんとか乗」の桁になるだけです。 たとえば「4の桁」は「2の2乗」の桁です。 これを使うと、右手の5本の指だけで31まで、左手の5本も使って1023まで数えられます。お風呂の中ででもやってみてください。 ・補数 「○進数」には、 「この数に、もういくつ足したら次の桁」 になる数が必ずあります。それが「補数」です。 10進数の場合、4の補数は6。100に対する45の補数は55。 2進数の場合、1の補数は1。 8桁の2進数の場合、10進数表記で255までしかありませんが、127の補数は129(この場合は、次の桁が現れると9桁になりますが。 次の桁 1 0000 0000 127 0111 1111 129 1000 0001 これだけのことですよ。全然難しくないでしょう?

lkafdsaffa
質問者

お礼

ありがとうございました。とても参考になりました。今後ともよろしくお願いいたします。

その他の回答 (4)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.4

2の補数に関しては、 ・2進数の加算はこんな具合である。  0011+1101=10000 ・減算を扱うには、マイナスの数があると楽だ。 ・0011は(3)だが、  0011+????=0  となる????を(-3)にすると楽じゃん? ・逆算すると、1101が????に都合がいい。 ・足して10(2)になる数って事だから、これは「2の補数」と呼ばれてるものだ。 と、なんでこういうのを使うようになったか?の経緯を覚えておくと「1と0をひっくり返して、1を足すだか引くだか」何て事は忘れても問題無いです。

回答No.3

なれの問題でしょう、質問者が生まれてから2進法で計算していたら、新たに10進法を習ったら難しいと思います。

lkafdsaffa
質問者

お礼

ありがとうございました。とても参考になりました。今後ともよろしくお願いいたします。

  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.2

一般的に使われいる参考書で難しいと感じるのでしたら、それ以上簡単なサイトはないと思います。 2進数自体はランプのON/OFFに置き換え、それに数学(算数?)で習う「組み合わせ」を使えばわかりやすいかと思います。 2の補数は公式だと思って割り切った方が便利です。 三角形の面積を求めるのに公式さえ知っていれば理屈がわからなくてもどうにかなるのと同じです。 2進数はプログラムを考える上で大変便利ですので、しっかりと身に着けましょう。

lkafdsaffa
質問者

お礼

ありがとうございました。とても参考になりました。今後ともよろしくお願いいたします。

  • bahoo
  • ベストアンサー率41% (299/714)
回答No.1

どの変が理解できないのか補足してください。 なにがわからないのかわからないです。 自分で検索はしましたか? サイトに限らず、参考書にも乗っていますので、本を読んでみましょう

参考URL:
http://www.asahi-net.or.jp/~ax2s-kmtn/ref/bdh.html
lkafdsaffa
質問者

お礼

ありがとうございました。とても参考になりました。今後ともよろしくお願いいたします。

関連するQ&A