プロが教える店舗&オフィスのセキュリティ対策術

この進数のことをわかりやすく教えてください。まったく理解が出来ないので。
よろしくお願いします

A 回答 (15件中1~10件)

n進数のことを理解するには、


(1)各位を構成する数字
(2)桁上がりの仕組み
のことを理解する必要があります。

(1)については、n進数の1の位の数は0を含めて、n個あるということです。
ですから、10進数では1の位を表す数字は、
0,1,2,3,4,5,6,7,8,9の10個存在します。
8進数では、
0,1,2,3,4,5,6,7の8個
2進数では、
0,1の2個
16進数では
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fの15個
(9より大きな数字がないため、アルファベットで代用しているのです。)

つづいて、(2)の桁上がりの仕組みですが、
例えば10進数では、各位の数字を表すのに、9より大きな数字はありませんので、桁上がりが生じます。
それでは、そもそも桁とは何なのでしょうか?
各位の桁は、(10進数を例にとると)
各位に掛けられる10の数を表しているのです。
すなわち、
1の位では10を0個(=10^0)掛ける(すなわち掛け算しない)
10の位では10(=10^1)を掛ける
100の位では10×10(=10^2)を掛ける
1000の位では10×10×10(=10^3)を掛ける
10000の位では10×10×10×10を1個(=10^4)掛ける
というように桁が1つ上がるごとに10が掛け合わされていきます。

ですから、10進数で3472という数は、
10×0の位が2 -> 2
10の位が7 -> 10*7
10×10の位が4 -> 10*10*4
10×10×10の位が3 -> 10*10*10*3
となるので、
10*10*10*3+10*10*4+10*7+2=3000+400+70+2=3472

n進数の場合もこのルールを適用します。

8進数で3472という数をなじみの深い10進数で表してみると
8×0の位が2 -> 2
8の位が7 -> 8*7
8×8の位が4 -> 8*8*4
8×8×8の位が3 -> 8*8*8*3
となるので、
8*8*8*3+8*8*4+8*7+2=1536+256+56+2=1850

同様に2進数で10100011
という数字を10進数で表してみると
2×0の位が1 -> 1
2の位が1 2*1 -> 2
2×2×2×2×2の位が1 2*2*2*2*2*1 -> 32
2×2×2×2×2×2×2の位が1 2*2*2*2*2*2*2*1 -> 128
となるので、
126+32+2+1=161


余談ですが、2進数を使用すると
10進数で161という数字を表すのに8桁も使用してしまいます。
どうして、このような桁数の多くてわかりにくい2進数を使用しているかというと、
2進数では0と1という数字しかありませんが、これが、
コンピュータで使用する電気信号の有・無の状態に似ているので使用されるのです。
キーボードから10進数で入力された数字は、
一度2進数に変換(エンコード)され
コンピュータの内部で2進数で演算され、
画面に表示するときに、元の10進数に変換(デコード)されます。

ところで、16進数についてですが、
16という数字は2×2×2×2のことなので2進数の親戚ともいえます。
これは、偶然なのでしょうか?
実は、2進数は桁数が非常に大きくなり人間に対しては判りにくいので、
2進数を4桁ごとに区切ったものを1桁に置き換えたものなのです。
    • good
    • 2
この回答へのお礼

とても遅くなりましたが
回答ありがとうございました!

あなたの回答でやっと理解しました・・・

お礼日時:2006/11/23 16:40

んー、気になったので私も書きます☆




2進法
01

10進法
0123456789

16進法
0123456789abcdef


上記は、数字を並べたものです。

分からないというのが
16進法だと思われます。
9の次がaになるのは・・・・・そういう決まりと覚えてください。

10進法では、
1の次はなぜ2なのですか?
2の次はなぜ3なのですか?
(この問いには、決まりだからとしか私は知りません!w)


あと
10進数では16なのに
16進数では10とはなぜか?

これは、16進数の数字を10進数で言うと16というだけで、
16進数で数えた数字ですから10で良いのです。

0123456789(10進数)
012346789abcdef(16進数)

10進数では、9まで来ると10になるわけです。同様に
16進数では、fまでくると10になるわけです。

この辺りの法則と言うのは、むか~しの人が決めました
ということしかわかりません!!
    • good
    • 3

以前回答したものが参考になるかと思います。

ご覧ください。

2進法では01の二つの数字、
5進法では01234の5つの数字、
10進法では0123456789の10個の数字、
16進法では0123456789ABCDEFの16の数字+文字を使います。

それぞれの位が10進法なら1の位、10の位、10の2乗の位、10の3乗の位・・・となっていくのをほかにも応用して考えてみてください。

参考URL:http://oshiete1.goo.ne.jp/qa1506400.html
    • good
    • 0

#5です。


今改めて読んでいくと間違いだらけ…2度目になりますが訂正させてください。

冒頭の
>10進数は普段お使いの数字なのでわかると思いますが、1の位が一番左にありまして

>10進数は普段お使いの数字なのでわかると思いますが、1の位が一番右にありまして
に訂正します。

また
>16進数は16倍で上がっていきます。つまり、1の位、16の位、32の位、…です。

>16進数は16倍で上がっていきます。つまり、1の位、16の位、256の位、…です。
に訂正します。

たぶんもうないと思うのですが…。
16進でFのあとが10になることが感覚的にわからないで困っておられるようですが、この「10」は、我々が普段使う10進数の「10」(じゅう)とは姿かたちはそっくりですが、全くの別人であると考えてください。
16進の「10」は、通常「いちぜろ」と読まれまして、16の桁に1つある(=10進で言うと「16」)あり、さらにそれに加えるべき1の桁には何もない(ゼロ)という意味なのです。
もしどうしてもわからなければ、10進数のいろんな数字をとことんまで眺めて、たとえば153877(でたらめな数字ですが)がなぜ「じゅうごまんさんぜんはっぴゃくななじゅうなな」をあらわしているといえるのか考えてみると桁上がりのシステムがわかるかもしれません。
    • good
    • 0

#11です。

間違えました。
誤:
私たちが使っている0~99までの数字は十進法の元で考え出されたの物なので、
正:
私たちが使っている0~9までの数字は十進法の元で考え出されたの物なので、
    • good
    • 0

> なぜ10からA~になるのでしょうか?


私たちが使っている0~99までの数字は十進法の元で考え出されたの物なので、
9を越える数値を一文字で表す文字が存在しません。
しかし十六進法を表記するには、1桁に16個の数字が必要になります。
つまり、十進法の10~15までを一文字で表記するために、これに当たる数字を考えなくてはなりません。
そこで、アルファベットのA~Fを10~15に割り振って表すように「決め」たのです。
もしかしたらV~Zまでのアルファベットになっていたかもしれません。

> なぜ16が10になるのでしょうか。
上で言っている10は十進法の10ではなく、十六進法の10と言う意味です。
    • good
    • 0

ホームページのカウンタを


イメージしてみる


 6777

だとすると次は
 6778

ですね
だとすると次は
 6779

ですね

けれど、その次は
 6780

ですね

なぜかと言うと10進数だから
カウンタの『輪』は数字10個が

   0 9
  1   8
 2     7
  3   6
   4 5

のようになっているから、

9の次は0

で右が一回転して0になったとき
その隣が一回転するので

7の次は8

結局
 7780

になる

もし8進数なら
カウンタの『輪』は数字8個が

  0 7
 1   6
 2   5
  3 4

だから


 6777

ならばその次は
 7000

になる

なぜなら
 7の次は0
 7の次は0
 7の次は0
 6の次は7

と順に桁が上がるから

つまり、数が数であるのに必要なのは
『1を足せる』ことであり
『桁上がりのシステム』であって
数字の数が10個であるのは、
たぶん人間の指の本数のせいで
そうなっているだけ。

ちなみに上の7000は7千じゃない

0から、8回目で
10

64回目で
100

(8×8×8×7)回カウンタが進めば
7000

0から
8進数のカウンタと
10進数のカウンタを同時に押していくと

8進数のカウンタが、7000の時
10進数のカウンタは、3584
ということに気づけば、ですね。

ちなみに16進数でA-Fを使うのは
たぶん欧米人が適当にそうしただけです。
    • good
    • 0

10進数というのは、数字を10個使って数えるという意味です。

使う数字は小さい順に0,1,2,3,…,8,9の10個です。
ふだん何気なく使っている10進数ですが、数え方をルールとして書いてみると次のようになります(0からスタートして1ずつ足していく(進んでいく)ときのことを考えてください)。
1)使う数字は、0,1,2,3,…,8,9の10個
2)1つ数字を足すごとに一つ大きい数字になります。
 例:4に1を足すと5。
3)一番大きい数字9までいったら、次は0に戻り、同時に一つ上の位の数字を一つ増やします。
 例:19の次は、一の位は9の次で0、十の位の1が一つ増えて2になり、20になる。
この三つが10進数のルールになります。

このルールが、ほかの進数にも応用されています。
たとえば、6進数というのを考えるときは、上のルールの中の'10'のところを'6'に読み替える、という応用の仕方になります。
<6進法>
1)使う数字は、0,1,2,3,4,5の6個
2)1つ数字を足すごとに一つ大きい数字になります。
 例:4に1を足すと5。
3)一番大きい数字5までいったら、次は0に戻り、同時に一つ上の位の数字を一つ増やします。
 例:15の次は、一の位は5の次で0、十の位の1が一つ増えて2になり、20になる。ただしここで重要なのは、6進法での'20'は'にじゅう'とはよみません、'に れい'と読むことになります。なぜなら'にじゅう'というのは10進法の読み方だからです。

ほかの進法も、同様に応用させて数えます。

身の回りで見かける10進法以外の数え方の例としては、時間や年月などがあります。
時間は、分は60進法、時間は12進法、または24進法、月は12進法となっています。分は60までいったら0に戻し、一つ上の位の時間を1つ上げる、そういうルールです。ただし、少しややこしいのは、60まで数えるのに10進法を使っているところですね。本来なら60個の数字を用意しないといけないんだけど、それは覚えるのも大変なので9個の数字で代わりをさせることにした、そういう考え方です。
数字ではない字を使っている他の例は、例えば、曜日や干支があります。土曜日までいったら日曜日に戻る、亥までいったら子に戻る。ただしここで少し違うのは、戻っても上の桁は上がらないことですね。正確には7進法とか、12進法とは言わないのかもしれませんが。。

話は戻って、2進法も上のルールで数えます。
使える数字が0と1だけになるので桁上がりが非常に忙しくなります。
試してみてください。
ちなみに、0と1しか使わなくてすむので、これをスイッチのオン・オフに割り当ててコンピュータができたというわけです。
    • good
    • 0

おっと、あなたの周りにも同じようなものがありますよ。


例えば時間。
秒が分になるためには60必要です。
分が時になるためには60必要です。
時が日になるためには24必要です。

この秒->分->時->日というのを1の位->10の位->100の位という位が上がることと同じだと考えて下さい。
(念のため1->10->100というのは10数進です)

まず2進数は一つの位が0と1だけで、2を表現するためには位を上げる必要があります。
ですので2進数で2を表すと10となります。
このようなルールなので10進数では一つ位が上がると10倍になりますが、2進数では2倍になります。

次は16進数。
これは位を上げるために16必要です。
0123456789と来て、10を表すのにAとし、以降BCDEFと続きます。
先ほどと同じように一つくらいが上がると16倍です。

さて、なぜ時間と違ってABCなどを使うのでしょう。
それは時間の場合、時分秒を何らかの方法で区切って表示しますが、16進数(他のものでも)、そのような区切り文字は使いません。
(時間だと10時16分とか10:15とか)
そのため、もし112と表すと1と12なのか12と1なのか分からなくなるからです。

応用になりますが、2進数は位が上がると2倍で16進数は16倍でした。
16倍というのは2*2*2*2なので、2真数の表現を16進数の表現に変換するのはとても簡単です。同じように4進数や8進数への変換も簡単です。
    • good
    • 0

#5です。

1箇所訂正を
「つまり、10進数では、1の位が一番下にあって(少数は考えから省きましょう)、右へ向かって10の位、100の位…」…

「つまり、10進数では、1の位が一番下にあって(少数は考えから省きましょう)、左へ向かって10の位、100の位…」…
と読み替えてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!