Landscape トップページ | < 前の日 2004-04-16 2004-04-17 次の日 2004-04-18 >

Landscape - エンジニアのメモ 2004-04-17

日本語的な数字の読み方を教えてくれるページ


* 日本語的な数字の読み方を教えてくれるページ

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [メモ]

数字の読み
http://www.lr.pi.titech.ac.jp/~abekawa/perl/num.cgi

数字をフォームに入力すると、日本語での読み方を教えてくれる。

たとえば、聖なる数字 256 を入力すると、
http://www.lr.pi.titech.ac.jp/~abekawa/perl/num.cgi?num=256
「256」 の読み方は
「にひゃくごじゅうろく」 となります
と教えてくれる。

- どこまで耐えられるかなあ〜〜?

こういうサービスを見つけると、どれだけ長い入力に耐えられるのか試してみたくなるのがエンジニアの性(さが)。さて、長い数字文字列をどうやって作ろう? 2の n 乗 を計算させるのが良いかな。

2の n 乗は何に計算させよう? Windows の電卓では n 乗 の入力方法がわからないのでダメ。また、2003-08-15 に書いた「Google の電卓機能」もダメだ。Google で2^128を検索するとわかるが、10の n 乗といった形で省略された答えになってしまうため、今回の目的には適さない。というわけで数字文字列は GNU bc コマンドで生成することにした。

bc の使い方は非常に簡単。たとえば、2の32乗の答えを知りたいときは、以下のように式を bc の標準入力に渡してやるだけ。
$ echo 2^32 |bc
4294967296

- 2の64乗

まずは2の64乗から。このあたりが基本型の上限になってるプログラミング言語もあるのでここから始めてみる。

$ echo 2^64 |bc
18446744073709551616
http://www.lr.pi.titech.ac.jp/~abekawa/perl/num.cgi?num=1844 ...
「18446744073709551616」 の読み方は
「せんはっぴゃくよんじゅうよんけいろくせんななひゃくよんじゅうよんちょうななひゃくさんじゅうななおくきゅうひゃくごじゅうごまんせんろっぴゃくじゅうろく」 となります

ふむ、いきなり「京」に到達。日本の国家予算なんかを軽く超える数字だ。

- 2の128乗

IPv6 で利用できる IP アドレスの数も 2^128 だ。とにかく大量で、感覚的にはもう事実上無限みたいなものだ。
$ echo 2^128 |bc
340282366920938463463374607431768211456
http://www.lr.pi.titech.ac.jp/~abekawa/perl/num.cgi?num=3402 ...
「340282366920938463463374607431768211456」 の読み方は
「さんびゃくよんじゅうかんにせんはっぴゃくにじゅうさんこうろくせんろっぴゃくきゅうじゅうにじょうきゅうひゃくさんじゅうはちじょよんせんろっぴゃくさんじゅうよんがいろくせんさんびゃくさんじゅうななけいよんせんろっぴゃくななちょうよんせんさんびゃくじゅうななおくろくせんはっぴゃくにじゅういちまんせんよんひゃくごじゅうろく」 となります

もう訳がわからなくなってきた。およそ「340かん」だそうだ。「かん」は「澗」と書き、10の36乗を表すそうだが、既にもう10の36乗なんて言われてもまったく実感がわかない。

- 2の256乗

$ echo 2^256 |bc
11579208923731619542357098500868790785326998466564056403945758400791\
3129639936

とうとう bc の出力結果も cygwin のコンソールの一行に収まらなくなり、\ が付いてきた。この桁数は環境変数 BC_LINE_LENGTH で変更可能。
http://www.lr.pi.titech.ac.jp/~abekawa/perl/num.cgi?num=1157 ...
桁数が大きすぎます

やったー! 勝ったー! でも上限はどこまでなんだろう?

- 上限は?

2の128乗が読めて 2の256乗が読めないのなら、そうだな、2の200乗くらいでどうだろう?

$ echo 2^200 |BC_LINE_LENGTH=200 bc
1606938044258990275541962092341162602522202993782792835301376
http://www.lr.pi.titech.ac.jp/~abekawa/perl/num.cgi?num=1606 ...
「いちなゆたろくせんろくじゅうきゅうあそうぎさんぜんはっぴゃくよんこうがしゃよんせんにひゃくごじゅうはちごくきゅうせんきゅうひゃくにさいななせんごひゃくごじゅうよんせいせんきゅうひゃくろくじゅうにかんきゅうひゃくにじゅうさんこうよんせんひゃくじゅうろくじょうにせんろっぴゃくにじょごせんにひゃくにじゅうにがいにひゃくきゅうじゅうきゅうけいさんぜんななひゃくはちじゅうにちょうななせんきゅうひゃくにじゅうはちおくさんぜんごひゃくさんじゅうまんせんさんびゃくななじゅうろく」 となります

なゆたって那由多か。桃太郎伝説の那由多の仙人を思い出すな。確か浮遊の術を教えてくれるんだよな。
2の200乗が OK で 2の256乗がダメなら、中間の 2の228乗でどうだろう?

$ echo 2^228 |BC_LINE_LENGTH=200 bc
431359146674410236714672241392314090778194310760649159697657763987456

http://www.lr.pi.titech.ac.jp/~abekawa/perl/num.cgi?num=4313 ...
「よんむりょうたいすうさんぜんひゃくさんじゅうごふかしぎきゅうせんひゃくよんじゅうろくなゆたろくせんななひゃくよんじゅうよんあそうぎせんにじゅうさんこうがしゃろくせんななひゃくじゅうよんごくろくせんななひゃくにじゅうにさいよんせんひゃくさんじゅうきゅうせいにせんさんびゃくじゅうよんかんきゅうひゃくななこうななせんはっぴゃくじゅうきゅうじょうよんせんさんびゃくじゅうじょななせんろっぴゃくろくがいよんせんきゅうひゃくじゅうごけいきゅうせんろっぴゃくきゅうじゅうななちょうろくせんごひゃくななじゅうななおくろくせんさんびゃくきゅうじゅうはちまんななせんよんひゃくごじゅうろく」 となります

おおっ、無量大数が登場! ・・・もしかして、無量大数などの接尾辞が無い数字は読めないのかな。「一億万円」とかいう読み方はしないわけだ。ということは、今4無量大数だから、あと 2^12乗くらいで超過するんだろうな。

$ echo 2^239 |BC_LINE_LENGTH=200 bc
8834 ... (長いので以下略)
http://www.lr.pi.titech.ac.jp/~abekawa/perl/num.cgi?num=8834 ...
「はっせんはっぴゃくさんじゅうよんむりょうたいすうにせんさんびゃくごじゅうさんふかしぎにせんさんびゃくはちじゅうきゅうなゆたせんきゅうひゃくにじゅういちあそうぎろくせんよんひゃくななじゅうきゅうこうがしゃせんろっぴゃくよんじゅうはちごくななせんごひゃくさんさいななせんひゃくよんじゅうごせいきゅうせんにひゃくごじゅうななかんきゅうせんひゃくさんじゅうななこうよんせんひゃくきゅうじゅうよんじょうはっせんよんひゃくさんじゅうななじょはっせんきゅうじゅうよんがいななせんきゅうひゃくろくけいはっぴゃくさんちょうせんろくおくよんせんろっぴゃくさんじゅうまんきゅうせんはっぴゃくはちじゅうはち」 となります

$ echo 2^240 |BC_LINE_LENGTH=200 bc
1766 ... (長いので以下略)
http://www.lr.pi.titech.ac.jp/~abekawa/perl/num.cgi?num=1766 ...
桁数が大きすぎます
予想通り、9999無量大数を超えるとダメなんだな。

- 目的を忘れてた

そうそう、なんでこんな事やってたかというと、Perl でオブジェクトのシリアライズ方法を探していたら、偶然このページを見つけて、目的を忘れて遊んでたんだった。シリアライズについてはまた後でメモしよう。

すべての記事の見出し (全1029件)
全カテゴリの一覧と記事の数
カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。

直近30日分の記事
2007-04-23 (Mon)
2007-03-07 (Wed)
2007-02-27 (Tue)
2007-01-17 (Wed)
2007-01-15 (Mon)
2007-01-14 (Sun)
2007-01-08 (Mon)
2006-12-01 (Fri)
2006-11-22 (Wed)
2006-11-20 (Mon)
2006-11-19 (Sun)
2006-09-30 (Sat)
2006-08-29 (Tue)
2006-08-04 (Fri)
2006-07-27 (Thu)
2006-07-23 (Sun)
2006-07-17 (Mon)
2006-07-10 (Mon)
2006-07-06 (Thu)
2006-07-03 (Mon)
2006-06-29 (Thu)
2006-06-28 (Wed)
2006-06-27 (Tue)
2006-06-25 (Sun)
2006-06-19 (Mon)
2006-06-18 (Sun)
2006-06-15 (Thu)
2006-06-11 (Sun)
2006-06-01 (Thu)
2006-05-30 (Tue)
プロファイル
斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
リンク
RSS
スポンサードリンク
Powered by
さくらインターネット

© 斎藤 宏明 Saito Hiroaki Gmail Address
Landscape - エンジニアのメモ http://sonic64.com/
Landscape はランドスケープと読みます。
ひらがなだと らんどすけーぷ です。