ローマ数字変換ツールとは?
このツールは、普段使っている10進数の数字をローマ数字に変換したり、逆にローマ数字を通常の数字に戻したりできるツールです。時計の文字盤、書籍の章番号、映画のクレジット、記念碑などで使われる標準的な減算記法を採用しており、1から3999までの整数に対応しています。これは、横棒(バー)や特殊記号を使わずに表記できる一般的な範囲です。
使い方
まず変換の方向を選びます。数字 → ローマ数字では、1〜3999の整数を入力してください。ローマ数字 → 数字では、MCMXCIVのようなローマ数字を入力します(大文字・小文字は区別しません)。変換結果はローマ数字とその10進数の値の両方が表示されるので、答えをすぐに確認できます。
計算の仕組み
ローマ数字は7つの記号で構成されています。I=1、V=5、X=10、L=50、C=100、D=500、M=1000です。数字を変換する際は、貪欲法(グリーディ・アルゴリズム)を用います。最も大きい値から順に、まだ収まる最大の値の記号を繰り返し引き、その記号を書き加えていきます。$$\text{Roman} = \operatorname{greedy}\!\left(\text{Number}\right) = \sum_{k}\; \text{sym}_k \times \left\lfloor \frac{\text{remainder}}{\text{val}_k} \right\rfloor$$ 減算ペアに対応するため、CM=900、CD=400、XC=90、XL=40、IX=9、IV=4も一覧に含めています。これにより、常に正規かつ最短の表記が得られます。たとえば4はIIIIではなくIVと表記されます。\(1 \le \text{Number} \le 3999\)
具体例で確認
2024を変換してみましょう。\(2024 - 1000 = 1024\)(M)、さらに \(-1000 = 24\)(MM)、続いて \(24 - 10 = 14\)(X)、\(-10 = 4\)(XX)、最後に4はIVに対応します。結果はMMXXIVとなります。$$\text{Number} = \sum_{\text{token} \,\in\, \text{Roman Numeral}} \text{value}(\text{token})$$
よくある質問
なぜ3999までなのですか? 標準的なローマ数字はMMMCMXCIX(3999)が上限です。これより大きい数字は、伝統的に記号の上に横棒(ヴィンクルム)を付けて1000倍を表す必要があり、これは基本的なローマ数字の体系には含まれていません。
ゼロを表すローマ数字はありますか? いいえ。ローマ人にはゼロを表す記号がなく、この体系にゼロの居場所はありません。
IIIIが正しいことはありますか? 一部の時計の文字盤では見た目のバランスを取るためにIIIIが使われていますが、4の数学的に標準的な表記はIVであり、このツールもIVを出力します。