Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
コンピュータにお
ける数表現	
 
面白法人カヤック	
  
岩淵勇樹
コンピュータにお
ける数表現	
 
面白法人カヤック	
  
岩淵勇樹
自己紹介	
 
• 岩淵勇樹	
  (	
  IWABUCHI	
  Yu(u)ki	
  )	
  
•  金沢大学自然科学研究科修了	
  
•  博士(工学)	
  
•  面白法人カヤック	
 HTMLファイ部・人事部	
  
•  卒...
アウトライン	
 
• 繰り上がり則と記数法	
  
• 2進法	
  
• φ進法	
  
• フィボナッチ記数法	
  
• 自然数より広い記数	
  
• -­‐2進法	
  
• 1+i進法	
  
• 物智数	
  
繰り上がり則と記数法	
 
2進法、φ進法、フィボナッチ記数法
よく使われる記数法	
 
• 位取り記数法(N進法)	
  
• 人間は10進法、	
  
コンピューターは2進法	
  
• 2進数と親和性の高い	
  
8進数や16進数もよく使われる
2進法	
 
•  基数が2の位取り記数法	
  
•  桁の重みは2n	
  
8	
  4	
  2	
  1	
 
0	
  0	
  0	
  0	
  0	
 
0	
  0	
  0	
  1	
  1	
 
0	
  0	
  1...
2進数の足し算	
 
1	
 
1	
 +
繰り上がり	
 
1	
 
1	
 
0	
 1	
 
+
2を左に	
 
0	
 1	
 
2	
 
↓
2進数の足し算(例)	
 
0	
 
1	
 
1	
 2	
 
+	
  1	
 
1	
 1	
 
1	
 
1	
 0	
 2	
 →	
 
1	
 0	
 0	
 →	
 1
繰り上がり則だけで足し算	
 
• 2以上の値がある部分に、	
  
繰り上がりのルールだけ適用すれば	
  
どんな足し算もできる	
  
• 初期値を10進数として適用すれば、	
  
基数変換もできる
Excelで実演(1)	
 
繰り上がり則を適用する	
  
一番左のセル	
  
(2以上の数の左のセル)	
  
を選択して	
  
「形式を選択してペースト」	
 
繰り上がり則	
  
1,	
  -­‐2	
  
を入力	
  
	
...
Excelで実演(2)	
 
「演算」を	
  
「加算」に設定して	
  
「OK」
Excelで実演(3)	
 
適用したいセルに次々に	
  
「繰り返し」(Ctrl	
  +	
  Y)	
 
対象が	
  
0と1だけの行になったら計算完了!
φ進法(黄金進法)	
 
•  基数がφ(黄金比)の位取り記数法	
  
•  桁の重みはφn	
  
φ4	
  φ3	
  φ2	
  φ1	
  φ0	
  φ-­‐1	
  φ-­‐2	
  φ-­‐3	
  φ-­‐4	
 
0	
 ...
1の連続は禁止	
 
• φn=φn-­‐1+φn-­‐2	
  
• ex)	
  n=2のとき	
  
5 +1
2
!
"
#
$
%
&
2
=
5 +1
2
+1
1	
  1	
 
0	
 0	
 1	
 →	
 
φn	
  φn...
φ進法の繰り上がり則	
 
•  φ進法では左に1繰り上がり、	
  
右に2繰り下がる	
 
	
 
1	
 
1	
 
0	
 1	
 
+	
 
0	
 1	
 .	
 
(2φn=φn+1+φn-­‐2)
繰り上がりの秘密	
 
•  φn+φn=φn+(φn-­‐1+φn-­‐2)	
  
	
  =(φn+φn-­‐1)+φn-­‐2	
  
=φn+1+φn-­‐2	
 2	
 
1	
 
0	
 1	
  0	
  1	
 
1	
  1...
繰り上がり則だけで足し算	
 
•  2の左1、右2の繰り上がりと、	
  
1の連続での繰り上がりだけを適用すれば	
  
どんな足し算もできる	
  
•  初期値を10進数として適用すれば、基数変
換もできる
Excelで実演(1)	
 
繰り上がり則を適用する	
  
一番左のセル	
  
(2以上の数の左のセル)	
  
を選択して	
  
「形式を選択してペースト」	
 
繰り上がり則	
  
1,	
  -­‐2,	
  0	
  1	
  ...
Excelで実演(2)	
 
「演算」を	
  
「加算」に設定して	
  
「OK」
Excelで実演(3)	
 
適用したいセルに次々に	
  
「繰り返し」(Ctrl	
  +	
  Y)	
 
対象が	
  
1が連続しない	
  
0と1だけの行になったら計算完了!	
 
0,1,1のパターンを	
  
1,0,0に書き...
フィボナッチ数	
 
• F0	
  =	
  1	
  
• F1	
  =	
  2	
  
• Fn	
  =	
  Fn-­‐1	
  +	
  Fn-­‐2	
  
•  フィボナッチ数を数列として書き下すと	
  
1,	
  2,...
フィボナッチ記数法	
 
•  桁の重みはFn	
  
8	
  5	
  3	
  2	
  1	
 
0	
  0	
  0	
  0	
  0	
  0	
 
0	
  0	
  0	
  0	
  1	
  1	
 
0	
  0	
 ...
フィボナッチ記数法のルール	
 
• 桁の値(digit)は0か1	
  
• 1が連続してはならない	
  
(=11が禁止語)	
  
ゼッケンドルフの定理	
 
• 自然数は、連続するフィボナッチ
数を含まないような形で、相異な
る1つ以上のフィボナッチ数の和と
して一意に表現できる	
  
(つまり、フィボナッチ記数法の	
  
 書き方ができる)
1の連続は禁止	
 
• Fn=Fn-­‐1+Fn-­‐2	
  
(定義より明らか)	
  
1	
  1	
 
0	
 0	
 1	
 →	
 
Fn	
  Fn-­‐1	
  Fn-­‐2
フィボナッチ記数法の繰り上がり則	
 
•  フィボナッチ記数法では左に1繰り上がり、	
  
右に2繰り下がる	
  
•  ただし、下2桁(2F1と2F0)だけ特殊	
 
	
 
1	
 
1	
 
0	
 1	
 
+	
 
0	
  1...
自然数より広い記数	
 
-­‐2進数、1+i進数
-­‐2進法	
 
•  基数が-­‐2の位取り記数法	
  
•  桁の重みは(-­‐2)n	
  
•  整数全体を表現できる	
  
16	
  -­‐8	
  4	
  -­‐2	
  1	
 
0	
  1	
  0	
  0	
  ...
-­‐1+i進法	
 
• D.	
  Knuth	
  (TeXの生みの親)が考案	
  
• 複素整数を記述可能	
  
• 基数が複素数
1+i進法	
 
• 2進数の2を(1+i)に読み替える	
 
(1+i)2	
  1+i	
  1	
 
0	
  0	
  0	
  0	
 
0	
  0	
  1	
  1	
 
0	
  1	
  0	
  1+i	
 
0	
  1...
ツインドラゴン
物智数	
 
完全オリジナルの記数法
記数法の拡張	
 
•  位取り記数法(N進法)の、Nの部分を拡張	
  
→負数や複素数も表現可能に	
  
•  記数法により、繰り上がり則も違う	
  
→もっと変わった繰り上がり則はないか?	
  
•  数は一直線に並ぶ(ex)	
 ...
物智数の繰り上がり則	
 
1	
  1	
  0	
 1	
 +	
 
1	
 
=
物智数	
 
1 0
0 1
1 0
0 1 1
1 0 0
1 0 0
0 1 1
1 0 0
1 0 1
0 1 1
1 0 1
1 1 0
0 1 1 1
1 0 1 0
1 1 0 0
1 0 0 0
左と上に繰り上がり	
 
0 1 ...
大きい数だと	
 
気になる方はこちらで!	
  
hTp://butchi.jp/documents/planar_binary/	
 
?	
 1000=
物智数の謎	
 
• 基数はp+q=2となる何らかのpとq	
  
→1,	
  1かもしれないし、	
  
 2,	
  0	
  	
  かもしれないし、	
  
 1+x,	
  1-­‐xかもしれない	
  
	
  
• 複素数よりも...
まとめ	
 
•  繰り上がりに着目して計算ができる	
  
(2進法、φ進法、フィボナッチ記数法)	
  
•  桁の重みの拡張により整数や複素数などまで表現できる	
  
(-­‐2進法、1+i進法)	
  
•  繰り上がり方向を2方向に...
問題集
解答	
 
問1	
  	
  1)	
  1010 	
   	
  2)	
  111111 	
  3)	
  1111000	
  
問2	
  	
  1)	
  1001 	
   	
  2)	
  1101	
   	
  3)...
Upcoming SlideShare
Loading in …5
×

コンピュータで全く使われない数表現

4,281 views

Published on

第4回 プログラマのための数学勉強会
の発表資料です。
(改定前タイトル: コンピュータにおける数表現)

Published in: Science
  • Be the first to comment

コンピュータで全く使われない数表現

  1. 1. コンピュータにお ける数表現 面白法人カヤック   岩淵勇樹
  2. 2. コンピュータにお ける数表現 面白法人カヤック   岩淵勇樹
  3. 3. 自己紹介 • 岩淵勇樹  (  IWABUCHI  Yu(u)ki  )   •  金沢大学自然科学研究科修了   •  博士(工学)   •  面白法人カヤック HTMLファイ部・人事部   •  卒研で記数法を研究
  4. 4. アウトライン • 繰り上がり則と記数法   • 2進法   • φ進法   • フィボナッチ記数法   • 自然数より広い記数   • -­‐2進法   • 1+i進法   • 物智数  
  5. 5. 繰り上がり則と記数法 2進法、φ進法、フィボナッチ記数法
  6. 6. よく使われる記数法 • 位取り記数法(N進法)   • 人間は10進法、   コンピューターは2進法   • 2進数と親和性の高い   8進数や16進数もよく使われる
  7. 7. 2進法 •  基数が2の位取り記数法   •  桁の重みは2n   8 4 2 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 6 0 1 1 1 7 8 4 2 1 1 0 0 0 8 1 0 0 1 9 1 0 1 0 10 1 0 1 1 11 1 1 0 0 12 1 1 0 1 13 1 1 1 0 14 1 1 1 1 15
  8. 8. 2進数の足し算 1 1 +
  9. 9. 繰り上がり 1 1 0 1 +
  10. 10. 2を左に 0 1 2 ↓
  11. 11. 2進数の足し算(例) 0 1 1 2 + 1 1 1 1 1 0 2 → 1 0 0 → 1
  12. 12. 繰り上がり則だけで足し算 • 2以上の値がある部分に、   繰り上がりのルールだけ適用すれば   どんな足し算もできる   • 初期値を10進数として適用すれば、   基数変換もできる
  13. 13. Excelで実演(1) 繰り上がり則を適用する   一番左のセル   (2以上の数の左のセル)   を選択して   「形式を選択してペースト」 繰り上がり則   1,  -­‐2   を入力     計算したい数値を入力   (ex)  1,  2,  1)
  14. 14. Excelで実演(2) 「演算」を   「加算」に設定して   「OK」
  15. 15. Excelで実演(3) 適用したいセルに次々に   「繰り返し」(Ctrl  +  Y) 対象が   0と1だけの行になったら計算完了!
  16. 16. φ進法(黄金進法) •  基数がφ(黄金比)の位取り記数法   •  桁の重みはφn   φ4 φ3 φ2 φ1 φ0 φ-­‐1 φ-­‐2 φ-­‐3 φ-­‐4 0 0 0 0 0 0 0 0 0 0   0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 2 0 0 1 0 0 0 1 0 0 3 0 0 1 0 1 0 1 0 0 4 0 1 0 0 0 1 0 0 1 5 0 1 0 1 0 0 0 0 1 6 1 0 0 0 0 0 0 0 1 7 1 0 0 0 1 0 0 0 1 8 1 0 0 1 0 0 1 0 1 9 1 0 1 0 0 0 1 0 1 10 φ = 5 +1 2
  17. 17. 1の連続は禁止 • φn=φn-­‐1+φn-­‐2   • ex)  n=2のとき   5 +1 2 ! " # $ % & 2 = 5 +1 2 +1 1 1 0 0 1 → φn φn-­‐1 φn-­‐2
  18. 18. φ進法の繰り上がり則 •  φ進法では左に1繰り上がり、   右に2繰り下がる 1 1 0 1 + 0 1 . (2φn=φn+1+φn-­‐2)
  19. 19. 繰り上がりの秘密 •  φn+φn=φn+(φn-­‐1+φn-­‐2)    =(φn+φn-­‐1)+φn-­‐2   =φn+1+φn-­‐2 2 1 0 1 0 1 1 1 → →
  20. 20. 繰り上がり則だけで足し算 •  2の左1、右2の繰り上がりと、   1の連続での繰り上がりだけを適用すれば   どんな足し算もできる   •  初期値を10進数として適用すれば、基数変 換もできる
  21. 21. Excelで実演(1) 繰り上がり則を適用する   一番左のセル   (2以上の数の左のセル)   を選択して   「形式を選択してペースト」 繰り上がり則   1,  -­‐2,  0  1   を入力     計算したい数値を入力   (ex)  1,  2,  2,  1)
  22. 22. Excelで実演(2) 「演算」を   「加算」に設定して   「OK」
  23. 23. Excelで実演(3) 適用したいセルに次々に   「繰り返し」(Ctrl  +  Y) 対象が   1が連続しない   0と1だけの行になったら計算完了! 0,1,1のパターンを   1,0,0に書き換え
  24. 24. フィボナッチ数 • F0  =  1   • F1  =  2   • Fn  =  Fn-­‐1  +  Fn-­‐2   •  フィボナッチ数を数列として書き下すと   1,  2,  3,  5,  8,  13,  21,  34,  55,  89,  144,  …  
  25. 25. フィボナッチ記数法 •  桁の重みはFn   8 5 3 2 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 2 0 0 1 0 0 3 0 0 1 0 1 4 0 1 0 0 0 5 0 1 0 0 1 6 8 5 3 2 1 0 1 0 1 0 7 1 0 0 0 0 8 1 0 0 0 1 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 0 1 12
  26. 26. フィボナッチ記数法のルール • 桁の値(digit)は0か1   • 1が連続してはならない   (=11が禁止語)  
  27. 27. ゼッケンドルフの定理 • 自然数は、連続するフィボナッチ 数を含まないような形で、相異な る1つ以上のフィボナッチ数の和と して一意に表現できる   (つまり、フィボナッチ記数法の    書き方ができる)
  28. 28. 1の連続は禁止 • Fn=Fn-­‐1+Fn-­‐2   (定義より明らか)   1 1 0 0 1 → Fn Fn-­‐1 Fn-­‐2
  29. 29. フィボナッチ記数法の繰り上がり則 •  フィボナッチ記数法では左に1繰り上がり、   右に2繰り下がる   •  ただし、下2桁(2F1と2F0)だけ特殊 1 1 0 1 + 0 1 0 0 0 0 1 1 0 1 + 1 0 0 1 1 0 1 + (2Fn=Fn+1+Fn-­‐2) (2F1=F2+F0) (2F0=F1) = = = = = 2 3 1 1 2
  30. 30. 自然数より広い記数 -­‐2進数、1+i進数
  31. 31. -­‐2進法 •  基数が-­‐2の位取り記数法   •  桁の重みは(-­‐2)n   •  整数全体を表現できる   16 -­‐8 4 -­‐2 1 0 1 0 0 0 -­‐8 0 1 0 0 1 -­‐7 0 1 1 1 0 -­‐6 0 1 1 1 1 -­‐5 0 1 1 0 0 -­‐4 0 1 1 0 1 -­‐3 0 0 0 1 0 -­‐2 0 0 0 1 1 -­‐1 16 -­‐8 4 -­‐2 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 2 0 0 1 1 1 3 0 0 1 0 0 4 0 0 1 0 1 5 1 1 0 1 0 6 1 1 0 1 1 7
  32. 32. -­‐1+i進法 • D.  Knuth  (TeXの生みの親)が考案   • 複素整数を記述可能   • 基数が複素数
  33. 33. 1+i進法 • 2進数の2を(1+i)に読み替える (1+i)2 1+i 1 0 0 0 0 0 0 1 1 0 1 0 1+i 0 1 1 2+i 1 0 0 2i 1 0 1 1+2i 1 1 0 1+3i 1 1 1 2+3i
  34. 34. ツインドラゴン
  35. 35. 物智数 完全オリジナルの記数法
  36. 36. 記数法の拡張 •  位取り記数法(N進法)の、Nの部分を拡張   →負数や複素数も表現可能に   •  記数法により、繰り上がり則も違う   →もっと変わった繰り上がり則はないか?   •  数は一直線に並ぶ(ex)  10101110)   →並び方を拡張できないか??  
  37. 37. 物智数の繰り上がり則 1 1 0 1 + 1 =
  38. 38. 物智数 1 0 0 1 1 0 0 1 1 1 0 0 1 0 0 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 左と上に繰り上がり 0 1 1 1 0 1 1 1 1 0 1 1 12=   3=   4=   5=   6=   7=   8=   0 1 1 0
  39. 39. 大きい数だと 気になる方はこちらで!   hTp://butchi.jp/documents/planar_binary/ ? 1000=
  40. 40. 物智数の謎 • 基数はp+q=2となる何らかのpとq   →1,  1かもしれないし、    2,  0    かもしれないし、    1+x,  1-­‐xかもしれない     • 複素数よりもっと広い、何かを表 せるに違いない!!
  41. 41. まとめ •  繰り上がりに着目して計算ができる   (2進法、φ進法、フィボナッチ記数法)   •  桁の重みの拡張により整数や複素数などまで表現できる   (-­‐2進法、1+i進法)   •  繰り上がり方向を2方向にして新しい記数法を作れる   (物智数)  
  42. 42. 問題集
  43. 43. 解答 問1    1)  1010    2)  111111  3)  1111000   問2    1)  1001    2)  1101    3)  11101   問3    1)    1000.1001  2)  10100.0101  3)  100101.001001   問4    1)    1000.1001  2)  10000.01  3)  1000000.01   問5    1)    10001    2)  100000  3)  1010001   問6    1)    1000    2)  100000  3)  1000000   問7    1)      2)    3)       問8    1)      2)    3)   0 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0

×