忍者ブログ

零私記

狼逃苦肉の策でブログになった

数字の進法にどこまでも挑む

 なんか面白い数字の進法ってないもんかなぁ、と考えていた。
機械が2、8、16進数だけってのに腹が立って、任意数進の変換プログラム組んだわけだけど。

そもそも、何進数にする、ってのが普通過ぎて面白くないよな、と思った。
その道の人は2進数での計算なんて暗算でやってのけるし、
その考えで行けば、どの進数でも同じ事だもんな。

だったら、それぞれの桁ごとに進数変えれば面白いんじゃね? って思った。
なんつーか、暗号チックな意味合いも持つし。
入力の数字から進数パターンを作ってしまえば、数学的にも面白い。

と、思ったが。

それは間違いなのだった。

例えば、2桁を用意する。
左は16進数、右は10進数とすると、13はどう表すのか。
左桁は16未満なので0、右桁は…、表現不能。
逆に右から3とし、左に繰り上げると、16+3=19、表現できてない。
∴左進数が右進数より大きいとダメ。
さらに、左を10進、右を16進として、26を考えると。
左は10が2つだから2、右は残りの6で、26と書ける。
逆、右は26-16=10なのでA、左は繰り上げ1で、1A=10+10=20、無理。
最初のも16進繰り上げと考えると、2×16+6=38とかなる。
ちゃんと読みとれない、∴右が左より大きいとダメ。
∴左進数=右進数。

つまり、全部同じ進数でないとちゃんと表現できないんですわ。 やられた。


 なので、別のアプローチ。
アラビア数字は0~9の10個しかないから、16進数になると足りないわけですよ。
だから、10=A、11=B、…、としたわけですけど。

そもそも、どうして、足りないのは10から上だ、と思ったんだ?
表現できてないのは他にもあるわけですよ。

そう、マイナス。

1部の桁だけマイナスがつく、なんて状態を表現できてないんですよ。
仮に、-1=Aとしましょうか。 それで11進数を考える。

1 = 1
2 = 2
3 = 3
  :
9 = 9
10 = 1A
11 = 10
  :
108 = 99
109 = 1AA
110 = 1A0
  :
119 = 1A9
120 = 10A
121 = 100

と順調に表現可能。
さらに凄い所は、

-1 = A
-2 = A9
-3 = A8
  :
-11 = A0
-12 = AA
-13 = A99
  :
-23 = A9A

とまぁ、何とマイナスも平気で表現できてしまうのだった。
符号ビットが要らない、ちょっとこれ、革命ちゃう?
(いや、先頭にAが付くので、11進の桁変え以外は必要ビット数は同じ…)

どうよ、この剰余類の代表元の取り方によらない事からの発想。
何がそこまでさせるのか、そうか、天邪鬼の血か。
そんなにルールに従うのが嫌いなのか、いや、ルールの穴を探すのが好きなんだ。

負補填進数法と名づけよう!

誰か偉い人、負補填進数法、どっかに採用してください。

拍手

PR

コメント

ブログ著者

HN: 零式狼

カレンダー

06 2025/07 08
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリー

日記   (879)
ブログ的   (78)
零式、語る   (70)
FLASH   (25)
web拍手   (18)
SkinDL報告   (237)
未選択   (65)

ブログ内検索

ブログレンタル元

RSS

RSS 0.91  RSS 1.0  RSS 2.0