Warning: Undefined variable $type in /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php on line 3

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/users/1/sub.jp-asate/web/wiki/includes/json/FormatJson.php on line 297

Warning: Trying to access array offset on value of type bool in /home/users/1/sub.jp-asate/web/wiki/includes/Setup.php on line 660

Warning: session_name(): Session name cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/Setup.php on line 834

Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 126

Warning: ini_set(): Session ini settings cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 127

Warning: session_cache_limiter(): Session cache limiter cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 133

Warning: session_set_save_handler(): Session save handler cannot be changed after headers have already been sent in /home/users/1/sub.jp-asate/web/wiki/includes/session/PHPSessionHandler.php on line 140

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/users/1/sub.jp-asate/web/wiki/languages/LanguageConverter.php on line 773

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/Feed.php on line 294

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/Feed.php on line 300

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46
https:///mymemo.xyz/wiki/api.php?action=feedcontributions&feedformat=atom&user=219.127.18.221 miniwiki - 利用者の投稿記録 [ja] 2025-01-15T11:00:30Z 利用者の投稿記録 MediaWiki 1.31.0 一進法 2018-06-06T09:08:16Z <p>219.127.18.221: </p> <hr /> <div>{{出典の明記|date=2014年2月5日 (水) 00:07 (UTC)}}<br /> &#039;&#039;&#039;一進法&#039;&#039;&#039;(いっしんほう)とは[[数]]の表現方法の1つで、[[1]]を底とする非標準的な記数法である。その名に反し、[[位取り記数法|&#039;&#039;N&#039;&#039; 進法]]で &#039;&#039;N&#039;&#039; を 1 にしたものとは異なるが、後述のように両者に関係はある。<br /> <br /> == 概要 ==<br /> 一進法とは、任意の[[記号]]を &#039;&#039;N&#039;&#039; 回繰り返すことで数 &#039;&#039;N&#039;&#039; を表すもので、[[自然数]]を表現するもっとも単純な記数法である。例えば記号として 1 を利用した場合、十進法の 1, 2, 3, 4, 5 は一進法で以下のようになる:<br /> :1, 11, 111, 1111, 11111.<br /> 一進法には &#039;&#039;&#039;[[0]]&#039;&#039;&#039; を表す記号がなく、0 は[[空文字列]](すなわち、なにも書かない)によって表す。しかし、なにも書かないと読者にわからなくなってしまうので、便宜上はεで空文字列を表すこともある。<br /> &lt;!--<br /> 本論からずれている&一進法では空文字列として0を表せるので例として不適切なのでコメントアウト<br /> [[ローマ数字]]のような高度な数の数え方でも0にあたる文字はなく、代わりに[[ラテン語]]で「何もない」を意味する &#039;&#039;{{lang|la|nullae}}&#039;&#039; と書く。<br /> <br /> <br /> 言わずもがななのでコメントアウト<br /> [[加算]]や[[減算]]は一進法では特に簡単であり、ほぼ記号列の連結だけで済む。[[乗算]]や[[除算]]はそれより面倒な手順となる。<br /> --&gt;<br /> <br /> == &#039;&#039;N&#039;&#039; 進数との関係 ==<br /> [[位取り記数法|&#039;&#039;N&#039;&#039; 進数]]表記<br /> :&lt;math&gt;a_{n-1}\ldots a_0&lt;/math&gt;<br /> は自然数<br /> :&lt;math&gt;\sum_{i=0}^{n-1}a_iN^i&lt;/math&gt;<br /> を表している。ここで、形式的に<br /> :&lt;math&gt;N=1,\; a_{n-1}=\cdots=a_0=1&lt;/math&gt;<br /> とすると、表記<br /> :&lt;math&gt;1\cdots 1&lt;/math&gt; (1 を &#039;&#039;N&#039;&#039; 個並べたもの)<br /> が<br /> :&lt;math&gt;\sum_{i=0}^{n-1}1\cdot 1^i=n&lt;/math&gt;<br /> を表すことになり、一進数表記と一致する。これが「一進数」と呼ばれる由縁である。<br /> <br /> == 日常生活における具体的 ==<br /> 例えば記号として &#039;&#039;&#039;|&#039;&#039;&#039;(タリーマーク、&#039;&#039;{{lang|en|tally mark}}&#039;&#039;)を使うと、6は &#039;&#039;&#039;||||||&#039;&#039;&#039; として表される。このやり方を[[画線法]]という。また、[[指]]を折って数を数えるやり方は一進法であるといえる。一進法は[[スポーツ]]の試合で得点を数えるなど進行中の結果を集計するのに便利である。これは書き足していくだけのインクリメンタルな記数法である、つまり中間結果を消したり、捨てたりする必要がないからである。[[漢数字]]の 一・二・三 や、[[ローマ数字]]の I・II・III なども一進法的な由来であろうことが想像される。<br /> <br /> [[File:Tally marks.png|right|120px|タリーマーク]]<br /> &#039;&#039;&#039;|&#039;&#039;&#039; を使うのは[[欧米]]ではもっとも一般的な方法である。[[単位]]となる[[マーク]]は読みやすいように5つごとのグループにまとめられることが多い。これは、[[十進法]]で100,000,000のような大きな数を読みやすくするために([[スペース]]や[[コンマ]]などの)区切り記号を使うのに似ている。グループの中の1番目または5番目のマークは簡単に識別できるよう、他のマークに対して斜めに書かれることがある。5を表すマークは &#039;&#039;{{lang|en|five-bar gate}}&#039;&#039; とも呼ばれる。グループを2つまとめて円で囲む(10を表す)こともある。<br /> <br /> [[File:Tally marks 3.svg|right|120px|正の字]]<br /> [[日本]]や[[中国]]では五画の[[漢字]]である&#039;&#039;&#039;[[wikt:正|正]]&#039;&#039;&#039;を書いて数を数える方法があるが、これも5つごとのグループでまとめる一進法である。<br /> <br /> [[File:Tally marks 2.png|right|120px|アルゼンチンなどで使われ画線法]]<br /> [[アルゼンチン]]や[[ブラジル]]では、 {{lang|pt|Truco}}{{enlink|Truco|en}}という[[ゲーム]]を遊ぶときなどに一進法が広く用いられる。<br /> <br /> 標準的な[[位取り記数法]]と比較して、大きな数の[[計算]]には一進法は不便なので使われない。また、固定的な文書で使われることもほとんどない。<br /> <br /> == 計算理論などにおける一進法 ==<br /> 一進法には、計算理論において[[計算複雑性理論|計算量]]を「人工的に」減らすため、などといった応用がある。例として、自然数の[[素因数分解]]問題は入力が二進法で与えられる場合には、入力長 &#039;&#039;n&#039;&#039; の[[多項式時間]]では実行不可能だと考えられている(素因数分解仮定)。しかし、入力が一進法で与えられるならば、入力長の多項式時間で実行するのは容易である([[エラトステネスの篩]]で十分)。二進法での入力長 &#039;&#039;n&#039;&#039; は入力の数 &#039;&#039;N&#039;&#039; の[[対数]] log &#039;&#039;N&#039;&#039; に比例するが、一進法での入力長は入力の数 &#039;&#039;N&#039;&#039; それ自身に比例するからである。<br /> <br /> 他にも[[コンピュータ科学]]などには多くの応用がある。たとえば、[[チューリングマシン]]の初歩的な例題などでは、テープ上に数字を並べてそれを[[位取り記数法]]で扱うのは相当に煩雑であるが、一進法であれば「右に進んでいって1があれば0に書き換えて、今度は左に進む」といったような手順で簡単に扱うことができる。<br /> <br /> == 関連項目 ==<br /> {{Commonscat|Unary numeral}}<br /> * [[画線法]]<br /> * [[ペアノの公理]]<br /> * [[モスクワ数学パピルス]]<br /> <br /> 以下、英語版の記事<br /> * [[:en:Church encoding]]<br /> <br /> == 外部リンク ==<br /> * {{OEIS|id=A000042}}<br /> <br /> {{Num-stub}}<br /> {{Math-stub}}<br /> {{DEFAULTSORT:いつしんほう}}<br /> [[Category:数の表現]]<br /> [[Category:数学に関する記事]]<br /> [[Category:1]]</div> 219.127.18.221
Warning: Cannot modify header information - headers already sent by (output started at /home/users/1/sub.jp-asate/web/wiki/extensions/HeadScript/HeadScript.php:3) in /home/users/1/sub.jp-asate/web/wiki/includes/WebResponse.php on line 46