世の中には○進数というものがいろいろありますが、
理論的に何進数がベストなんでしょうか?
計算機にとっては2進数なんでしょうが、人間にとって
という点でお願いします。

このQ&Aに関連する最新のQ&A

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

stomachmanさんの仰るように、この質問は何においてベストかが重要で、これまでの回答は、それぞれの意味でベストであるように思います。



私の知る一つの結論を申しますと、”情報量”という観点でいうと3進数がよいことになります。
例えば、2進数は(0,1)で表されるのですから、演算規則や文字の数という点では便利である。しかし、同じ数の10進数表現に比べると桁数が非常に長くなります。ここで、桁数と文字の多さ少なさを、表現の複雑さの指標とすると、以下の議論が成り立ちます。

ある数Nをr進数表現したときの桁数はp=log_r(N)となります。一つの桁が持つ情報量はrですから、これらの積prを最小にするようなr進数が最もシンプルに数を表すことができると言える。このとき、f=pr=r*log_r(N)を最小にするrはr=e=2.718...となり、3進数がベストということになります。

もちろん、この議論にも異論はありましょうが、少なくとも”この判断基準の下では”理論的にベストなのは3進数であると言えるでしょう。
    • good
    • 1

>>#6の補足


12進数でA個を3等分すると(12進数の表現で)3.4個になって割りきれまっせ。
そのへんが便利。
割りきれるというか、.33333……のような半端にならないです。

もうだれも見ないと思いますが。。。
    • good
    • 0

人間の指が十本なので10進法が広く使われるようになったんだけど


最も効率的で経済的なのは2**n進法です
これはコンピュータも人間も同じです
人間の指が8本だったらもっと社会は豊かになっているはずだよ
    • good
    • 0

>数論的にはp進数(pは素数)ですね.量子力学が複素数無しにはやれないように,p進数無しで数論はやれません.



この説明ですと分かりにくいのでもう少し砕けて説明させて貰います。
どんな10進法の有理数もp進法に書き換えられますが、このときに、各桁数を数列と思うことにします。
そのとき、整数は有限数列ですが、有理数は無限になることがあります。
ただし、それは循環します。
10進法で分数を小数にすると循環小数になるのと同じです。
このとき、小数の列を無作為に選んで無理数(実数)を構成したように、先の数列でも同じようにして間を全て埋めるのです。
このとき出来た数の集合を「p進数体」といいます。
ここでは、収束の概念を上手く機能させるために距離の概念が変わっています。
「pで割り切れる回数が距離」と言う感じになっています。
よって、10進法の世界とは数の構造が異なります。
そのため、同じ問題でも全く違った素振りを見せることがあります。
そして、その作り方からp進数体は普通の有理数も持っているので、有理数に関する定理ならば、どこかのp進数体の中で証明してやれば有理数でも自動的に成り立つのです。

このことから「実数体(10進法)は太陽で、p進数体は夜空の星」と言う数学者もおり、そのこころは「全てが重要度の差こそあれ同様に光を放っているが、一番近い物にしか気付かなかった」でしょう。

というわけで、数学上では「全て等価」と見るのが一般的です。
(ただ、定理の証明に使われるのは2,3,5進数体が多い様です(^^;))
    • good
    • 0

回答と補足のやりとりを見てますと、どうもこの質問、フェアじゃないですねえ。


「理論的に」とおっしゃいますが、たとえば数学においては「公理と推論規則を決めたときに演繹される定理の総体」が理論です。それ自体中立的な物であり、理論自体からベストかどうかという「価値判断」は何も出てきません。そうではなく、価値基準が先にあって、それに応じて理論が作られなくてはならないんです。
kazu-kunさんが「何をするのにベスト」なのかを明らかに指定しない以上、その満足な説明も在ろう筈がないと思いますが、いかがでしょうか?
多くの回答者の仰っていることはそれぞれ誠に妥当な説だと思いますよ。
    • good
    • 0

補足の回答です。



12や16で都合がいいというのは2や3で割れると計算がしやすいということです。

具体的な例を挙げると、
10進法では、きりのいい数字で10個ケーキがありました。そこに3人の子供がいます。どうやって分けよう?となります。
ですから実際にはそういう物を取り扱う時にはダースといって12個を1単位にします。
今回の場合はそれを普遍的な単位としたら便利じゃないのかな?と言ったのですよ。

指の話は私も今でも使いますよ。
アタマ悪いので、モノを数えるときで総枚数と目的もモノの枚数をチェックするときに、総枚数をアタマで唱えながらもく目的のモノの枚数のチェックを手で数えます。
このように2種類の数を数えるときに指で数えるのはやはり10進法が便利です。

ただし二十○か三十○かを忘れがちですが。。。(バカ丸出し)

この回答への補足

この例の場合なんですが、
12進数だとA個のケーキを3人でってことになりますが、
結局割り切れないので何進数でも同じような気がするのですが・・・。
X進数できりのいい数の時にある素数で割り切れる確率が高いと、
何かメリットがあるのでしょうか?

補足日時:2001/01/09 00:20
    • good
    • 0

数論的にはp進数(pは素数)ですね.量子力学が複素数無しにはやれないように,p進数無しで数論はやれません.


次元が低い世界がトポロジー的に非常にやっかいなことから,10進数前後というのは理論的に妥当だと思います.

この回答への補足

すいませんっ。専門的すぎて分かりませんでした。
どのような理論によるのでしょうか?

補足日時:2001/01/08 23:51
    • good
    • 0

皆さん言われるように,慣れの問題と指の数の問題のように思います.



角度は1周が 360 度ですね.
通貨も,江戸時代は1両=4分,1分=4朱,
の4進法でした.
イギリスも 1971 年(だったと思う)までは,
1ポンド=20 シリング,1シリング=12 ペンス,
という 20 進法と 12 進法の混ざった仕組みでした.
これはさすがに不便なので今のようになったのでしょうかね.
12 個で1ダース,12 ダースで1グロス,というのもあるし.

特定の問題を扱うときに,
○進法が便利だということはもちろんあります.
例えば,碁の盤面の記述するんだったら,
黒,白,空いている,の3状態ですから,3進法が便利です.

TCM さんの書かれているように,
n進法のnを大きくすると,たくさん記号が必要ですよね.
16進法だと0~9では足りないから,A,B,C,.. を使っているのは
ご存知の通り.
あと,九九(の類)が増えちゃいますね.
n^2 個必要です.
0 と 1 のところは自明ですから,(n-2)^2 個ですかね.
一方,あまりnを小さくすると桁数が増えますね.

回答になっているでしょうか.

この回答への補足

時間でもそうですが、角度、通貨など特定の分野に限定すればあるX進法が便利なのかもしれません。
これは、その概念の中で行われる演算が限られるからだと思います。
記号の数と桁の問題、暗記の問題(マジックナンバーとか関係あるのかな?)というのはなんとなく分かりますが、
理論的にはどうなんでしょう?
また、指の数×手の数がX本の宇宙人にとっては
本当にX進数がベストになるんでしょうかねっ?

補足日時:2001/01/08 23:53
    • good
    • 0

まずはX進法であることが重要です。

昔のヨーロッパのような12進法と60進法と10進法の混ぜ合わせ、みたいな数体系が一番不便。
 次に、足し算・かけ算を憶えられるためには、あんまりXが大きいのでは困る。12進法は2, 3, 4, 6で割れるのでなかなか良いと思いますが、指が足りないですね。6進法なんて案外良いかも。

この回答への補足

「2, 3, 4, 6で割れるのでなかなか良い」というのはどういう意味なんでしょうか?何を割るのかがよく分からないのですが、割り切れないと不都合があるのでしょうか?

補足日時:2001/01/08 23:39
    • good
    • 0

う~ん、どうなんでしょう?


私は16進法あたりがよいのでは?と思います。
2で割ると1まで割り切れますし。でも3では割れないしなぁ。
やっぱり人間にとっては手の指の10が一番理解しやすいので10進法がベストかな?

この回答への補足

「2で割ると1まで割り切れますし」というのはどういう意味なんでしょうか?
また、手の指が10といいますが、実際、計算する時、手の指を使いますか?あまり関係ない気がするのですが。確かに理解するには、手を使うと分かりやすいかもしれませんが。

補足日時:2001/01/08 23:47
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q何進法が便利!?

よく、10進法は慣習で使ってるだけで
本当は12進法が合理的だって言われるし
デジタル式コンピーターで16進法もいいし
時間関係→12進法、30,12*n進法(n=30)の混合型いいね
測度論的計量関係→12
その他→12
だから、状況によって何進法か使い分けたいけど
もっとザックバランでいいから、
何進法が便利で合理的で推奨すべきと考えますか
できれば理由なども説明お願いします
更に、そういうことを推奨している機関があれば教えて下さい

Aベストアンサー

以前に「何進数が理論的にベスト?」という質問
http://oshiete1.goo.ne.jp/kotaeru.php3?q=25654
がありました.
ご参考までに.

Qコンピューターで2進法が採用されている理由を教えてください

 2進法がコンピューターで使われているのはなぜですか?

Aベストアンサー

 
  初期の真空管で造った電子計算機では、二進法ではなく、十進法などを使っていたものでがありました。しかし、二進法が非常に有利で便利なので、二進法を使うようになったのです。
 
  理由:

  1)信号が、1と0だけでよい。十進法だと、信号が十個必要で、どの数かを判断する回路が必要になる。しかし、二進法だと、信号があるか、ないかの区別だけで非常に簡単である。
 
  2)これはコンピュータの心臓のCPUの設計に関係することですが、基本的には、CPUはレジスターという一種の計算機・勘定装置を使っています。これはたいへん原理は簡単なもので、簡単な計算を行います。このレジスターで、二進法を使うと非常に簡単に足し算とかができるし、また引き算、かけ算なども、少し工夫すると計算できるのです。
 
  例えば、111は二進法表現で7ですが、これにまた7を足し算するのは、
  111+111で、1+1=0(繰り上がり1) 1+0=1 0+1=1 0+0=0 という四つの計算規則だけでどんな数字でも、桁上がりだけ工夫すると計算できるのです。また引き算やかけ算も簡単に行えます。
 
  3)あるいは、フリップ・フロップ回路という面白く単純で、しかし重要な計算回路があるのですが、これは二進法での回路なのです。 

  4)コンピュータは大きな記憶装置を使うのです。この記憶装置は、あるかないか、つまり、1か0で記録すると、非常に簡単なのです。記録も速いし、読みとりも速いのです。
 
  こう言った理由で、二進法つまり1と0の信号で、コンピュータのなかでは計算や記録や記憶を処理しているのです。これを、5進法だとか、10進法にすると、たいへん複雑になるのです。
 
  人間はしかし二進法ではどんな数がすぐ分かりませんから、入力する時は十進法で、途中で二進法に変え、また、出力する時も、二進法だったのを、人間に分かるように十進法にしているのです。
 

 
  初期の真空管で造った電子計算機では、二進法ではなく、十進法などを使っていたものでがありました。しかし、二進法が非常に有利で便利なので、二進法を使うようになったのです。
 
  理由:

  1)信号が、1と0だけでよい。十進法だと、信号が十個必要で、どの数かを判断する回路が必要になる。しかし、二進法だと、信号があるか、ないかの区別だけで非常に簡単である。
 
  2)これはコンピュータの心臓のCPUの設計に関係することですが、基本的には、CPUはレジスターという一...続きを読む

Q素数の研究を2進法の表記で行う利点はありますか

素数を各桁の偶数と奇数の並び方などから何か出てこないかということですが、10進法より2進法のほうが規則のようなものが見つけやすいかとも考えています。素数を研究している人は表記などは問題にしないのでしょうか。

Aベストアンサー

#1、2です。素早いお礼の方もありがとうございます。

「規則のようなものを見つける」 というご質問の最も近い回答を思いつきましたので補足します。


まずですね、
規則そのものはまだ見つかっていないです。あくまでも見つかっているのは
規則のようなもの です。
10進数ですら、「素数にどういう規則があるか」はわからないので、
2進数で「まだ」見つかっていないのは明らかですね。
だって、逆に言えば、2進数で素数についての規則が見つかっていれば、それを10進数に置き換えて、
2のなんとか乗の~ と言えるはず
ですから。
素数の規則を発見すれば、正に「数学界のノーベル賞」ものでしょう。


ただ、過去何千年間も、素数の規則については、研究が重ねられているようですよ。
既にウィキペディアの「素数」のページはご覧になっていることと思います。
双子素数、という予想は私にもわかりやすかったです。11 と 13、857 と 859 などですね。
12±1、858±1 と表せることが美しいです(ちなみに 858=2x3x143)。

で、私が示唆するのは、
   「コンピューターはどうやって、暫定最大の素数を割り出しているのだろう」
   ということを考えれば(資料を見つければ)、ディジタルで素数を研究するメリットも自ずと
   見つかるのではないか
ということです。
   メルセンヌ素数: 2^n - 1
だけ調べているんでしょうね。

---------------
2013年12月現在で知られている最大の素数は、2013年1月に発見された、現在分かっている中で48番目のメルセンヌ素数 2の57885161乗 - 1 であり、
十進法で表記したときの桁数は 1742万5170桁 に及ぶ。
-----------------

2の57885161乗 - 1 の次は
2の57885162乗 - 1
2の57885163乗 - 1
と順番に調べていき、その間はすっ飛ばしているのでしょう。
   「最大の」素数を探すのが目的であり、全ての素数を求めるのは目的ではない
からですね。

ただ、2倍2倍で調べる、ということは、理にかなっていると感じます。
例えば我々が マニュアルで 素数を探すとしますね。
「ある数」1百万とするとき、2~1000000 の間の素数を一所懸命、「ある数より小さい数で割れるかどうか」という方法で探します。
ただ、ご存知の通り、「ある数」以下の全ての自然数で割り算を試す必要はないわけです。
  2で割れなかったら、4でも割れないし6でも割れないし、
  3で割れなかったら、6でも割れないし9でも割れないし、
  素数で割れるかどうか (「ある数」以下の素数を因数に持つかどうか)
を調べれば充分ですし、
  2x500000
  5x200000
がわかれば、
  500000x2
  200000x5
はもう調べる必要はありません。つまり、
  √1000000、1000まで調べれば充分
なのです。
  2~1000 の間の素数
だったら、まだ 手計算できそうな気がしますね。

メルセンヌ素数 2の57885161乗 - 1 の予言も、これに近いのではないでしょうか?
 1111111 が2の7乗-1 です。7は、7ビットです。
11111111 が2の8乗-1 です。8は、8ビットです。

ここから先は、どうやって
11111111 が
      11 で割れない かつ
     111 で割れない かつ
    1111 で割れない かつ
   11111 で割れない かつ
  111111 で割れない かつ
 1111111 で割れない かどうか
を計算するのか、詳しいことはわかりません。
ただ、2進数の割り算の方法については、
  「桁をずらしながら引き算をすれば、割り算ができます」

  http://ednjapan.com/edn/articles/1307/16/news002_2.html
に記してあります。これぞ正に、
  素数の研究を2進法の表記で行う利点
じゃないですか?

先に言った通り、
11111111 が素数であることが仮に示されたとしても、
1111111 ~ 11111111 の間に他の素数がないということではない
ですよ。
ただ、0と1、つまり、白と黒の模様を眺めていると、何か規則性が見つかってきそうな妄想・空想・美想(?)にとらわれますよね。
まるでダ・ヴィンチ・コードのような荒唐無稽な話ですが、素数を2進数で書き並べて、適当な所で改行してポスター用紙一面に埋め尽くすと、モナ・リザのような絵画が現れるかも知れません。
   エラトステネスの篩(ふるい)もある意味絵画だ
と私は感じますからね。


数学を研究している人は、表記を私たち以上に気にすると思いますよ。
例えば 対数で考えたり。指数で考えたり。
一般人は自然数を 1、2、3、 という序列で捉えますが、
素数など自然数全体を考えている専門家は 1、10、100、 (2進数ではなく一十百)という序列で捉えている
かも知れません。200と2000は専門家にとっては「かなり似ている数」なのかな、と勝手に想像します。

で、その拡張で、log など以外に、
  「素数を考えるとき専用の関数」 を定義したりする
ことも予想できます。その中に、底2の指数 が入っていても不思議はない のではないでしょうか。
2というのは、1と1を足す、ということを考えれば、まるで O と O2 (酸素原子と分子)のように、基本単位の1つのようにも見えますし。
全て素人(私)の戯れ言ですよ!

#1、2です。素早いお礼の方もありがとうございます。

「規則のようなものを見つける」 というご質問の最も近い回答を思いつきましたので補足します。


まずですね、
規則そのものはまだ見つかっていないです。あくまでも見つかっているのは
規則のようなもの です。
10進数ですら、「素数にどういう規則があるか」はわからないので、
2進数で「まだ」見つかっていないのは明らかですね。
だって、逆に言えば、2進数で素数についての規則が見つかっていれば、それを10進数に置き換えて、
2のなんとか...続きを読む

Q十二進法のメリット

数学オンチです。

 日頃から不思議に思っているのですが、数学的にみて十二進法にメリットはあるのでしょうか?わざわざ十二進法を度量衡に用いる意味がわかりません。またなぜ時間は十二進法が採用されているのですか?

 これを知らずには数学オンチに拍車がかかりそうです。よろしくお願いします。

Aベストアンサー

ナリユキじゃないかな?
伝統や文化の成立過程は、偶然の積み重ねです。
十二進法のほうが十進法より合理的であるような
数学的理由は特に無いと思います。
数学の問題と考えるより、
文化人類学上の問題と考えたほうが、実りがありそうです。

Q「ご連絡いたします」は敬語として正しい?

連絡するのは、自分なのだから、「ご」を付けるのは
おかしいのではないか、と思うのですが。
「ご連絡いたします。」「ご報告します。」
ていうのは正しい敬語なのでしょうか?

Aベストアンサー

「お(ご)~する(いたす)」は、自分側の動作をへりくだる謙譲語です。
「ご連絡致します」も「ご報告致します」も、正しいです。

文法上は参考URLをご覧ください。

参考URL:http://www.nihongokyoshi.co.jp/manbou_data/a5524170.html

QC言語 再帰処理のメリットとデメリット

最近、C言語の関数にも再帰定義ができるということを初めて知りました。
そこで聞きたいのですが、再帰処理のメリット・デメリットは何でしょうか?
思いついたものとしては

メリット … 簡単に表記できる
デメリット … 無限ループが発生する可能性あり

でしょうか。
また、全計算が終わるまでに、途中の演算結果を保持しなければならないので、
メモリを無駄遣いしそうな気もします。

Aベストアンサー

「メリット … 簡単に表記できる」

これはケースバイケースなのではないでしょうか。例えば配列の要素の和を求めるなんてのは、普通にループで書いた方が簡単です。一方、フィボナッチ数列を求めるなんてのは(教科書的な例で恐縮です。私が書いた中では、ある種の文法解析)再帰で書いた方が簡単でキレイですよね。

「デメリット … 無限ループが発生する可能性」

これは単に、繰り返しの終了条件の書き方の問題ではないでしょうか。普通の for などのループでも終了条件を間違えれば、同じだと思います。ただ再帰処理だと、終了条件が普通の if 文だったりするので、見た目が少し分かり難いという程度でしょう。

一部のプログラミング言語、例えば lisp とか prolog、では再帰処理をコンパイラが普通にループの繰り返しに変換して処理速度を上げています(ただし可能な場合のみ、全ての再帰処理をループに変換できない)。まあ prolog だと for のような繰り返しがなかったりする、という事情もあるのですが。

しかし、C ではそれをやらない約束になっているようです。ということで、再帰処理だとスタックが繰り返しの回数に比例して延びてしまいますので、無限ループは書く事ができませんし、繰り返し回数が多いとスタックが溢れたりします。もちろん、for などの普通の繰り返しの方が、再帰呼び出しよりも速いです(だから一部の言語では再帰をループに変換する)。

ということで、デメリットとしては、「遅い、メモリを喰う」という事になるかと思います。

No.1 さんのご回答にあるように、スレッドを細かい粒度にして並列度を上げるために、ループの繰り返しの単位で並列に処理しようとする、つまり、再帰呼び出しの関数レベルでスレッドにしたくなる気持ちは分かりますし、そういう研究は昔から多くあります。

しかしながら、実際問題、こうして並列度を上げてもなかなか速くならないようです。それよりも大きな配列を分割して並列化する方が、今の段階だと、ずっと簡単に速くなるようです。ただし、近い(?)将来、マルチコアが 100 とかいうレベルになると状況が変わるかもしれません。

「メリット … 簡単に表記できる」

これはケースバイケースなのではないでしょうか。例えば配列の要素の和を求めるなんてのは、普通にループで書いた方が簡単です。一方、フィボナッチ数列を求めるなんてのは(教科書的な例で恐縮です。私が書いた中では、ある種の文法解析)再帰で書いた方が簡単でキレイですよね。

「デメリット … 無限ループが発生する可能性」

これは単に、繰り返しの終了条件の書き方の問題ではないでしょうか。普通の for などのループでも終了条件を間違えれば、同じだと思います。...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング