数表記反復演算子(Numeral Repetition Operator)は、位取り記数法における数字列の反復を短く明示するための記法提案です。
Version: see version.txt (currently 0.2.0)
9'10 = 9999999999
123'3 = 123123123
通常の数値として読むだけでなく、人間が見ている「9 が 10 個」「123 が 3 回」という構造を、そのまま書けるようにすることを目的としています。
同じ枠組みで、幅を持つ数表記も扱えます。
0'5 + 46 = 00046
9'5 + 1 = 100000
9''5 + 1 = overflow
小学生にもわかる説明資料です。
Python で、現在の仕様を検証するための評価器を用意しています(version.txt 参照)。
python3 impl/python/nrep_eval.py --version
python3 impl/python/nrep_eval.py "9'10"9999999999
幅を持つ例:
python3 impl/python/nrep_eval.py "0'5 + 46"00046
テスト:
python3 impl/python/run_tests.pyこのリポジトリは、未査読の研究ノートと実験的な実装を含みます。新しい整数集合の提案ではなく、数字列の反復構造を数表記として扱うための記法提案です。
現時点で扱う主な例:
9'10 = 9999999999
123'3 = 123123123
0'5 + 46 = 00046
9''5 + 1 = overflow
1.(2'3) = 1.222
引用する場合は、CITATION.cff を参照してください。
- Concept DOI: 10.5281/zenodo.20513007
- Version DOI: 10.5281/zenodo.20513008
- 文書・スライド: CC BY 4.0
- 実装コード: MIT License
