8月の米国出張の際, オークランドのFranz社を訪問した. 鉄道マニアの私のことゆえ, 往きは当然Bartで行ったが, 帰りはFranzの小俣さんがサンフランシスコまで車で送ってくれた. その途中サブプライム問題による売り家の看板をいくつも見かけ, 金融危機をいささか実感した.
ところでこの度, Knuth先生がTAOCPのエラー発見者に対する小切手発行を止めるというので, 金融危機が急遽身近かになった. 完全主義者のKnuth先生は, 自著のエラーを最初に報告した人に十進法で2.56ドル(十六進法で1.00ドル)の小切手を贈ることにしてきた. 小切手は通常は1ヶ月以内に振出人に戻って来るが, Knuth先生の小切手は殆んど現金化されないので(「cashedは僅かで残りはcached」だそうだ), 多くの小切手が世界中に残留しており, 口座番号が知られる危険性があり, 10010年に1度の金融危機の現状では放置出来ない仕儀と相なった.
その代りとして, Pincus惑星に支店のある, San Serriffe銀行に, 小切手受取人の口座を開き, そこに支払い証明(certificate)を積み立てることにしたというのだ. もちろんこれは架空の銀行で, われわれLisperならfoo銀行のbar支店というところである.
PincusとかSan Serriffeは, Knuth先生は好きらしく, TAOCP分冊0には, Pincus惑星の論理学者がどうのこうの(演習問題7.1.1-2)とか, San Serriffe島にはm羽の鳩がいる(演習問題7.1.1-41)とか, 出てくる. 私は漫画やSFには暗いので, これらの名詞がそういうものと何か関係があるかは存ぜぬ.
さて, その新システムの支払い証明がコンピュータ屋には面白い. いろいろ新機軸が見らる.
米国で暮した人は知っているように, ある受取人に2.56ドル渡す場合, 小切手には
Pay to the order of の次に受取人を書き, その右の方に $2.56 と書く.
中央の枠には綴りで Two and 〜〜〜〜〜〜〜〜 56/100 Dollars
のように書く. 従ってHundredとかThousandの綴りも知らなければならない. ドル以下は100分のなんとかと書くことになっている.
新システムにはKnuth先生の趣味がふんだんに見られ,
まず受取人の右の金額は十六進法で 0x$ 1.00 となる.
中央の枠は
One and 〜〜〜〜〜〜〜〜〜 no/256 Hexadecimal Dollars
と変った.
これは実は私として, 大変気持ちが悪い. Knuth先生のホームページなどに, $2.56の由来が書いてあるが, 「256 pennies is one hexadecimal dollar」 がその理由だ.
私に言わせれば, 1は十進でも十六進でも1であり, one hexadecimal dollarはすなわち one decimal dollar である. 10016¢なら25610¢ = $2.5610で, これが理由なら納得出来る. 10016¢ !=10010¢なのだ.
エラー発見は$2.56であるが, 改良案を示すと32¢頂ける. つまり0x$0.20 である. 改良案2件なら 0x$0.40, 5件なら 0x$0.a0, 7件なら 0x$0.e0というわけだ. そこで新システムの中央の枠だが, 改良案1件の場合
Zero and 〜〜〜〜〜〜〜〜 32/256 Hexadecimal Dollarsとなるのだろうか?
Zero and 〜〜〜〜〜〜〜〜 20/100 Hexadecimal Dollarsではないかと思うのだが.
さらに仮りにエラーを1210件見つけたら,
Twelve and なのかな. まさか C and とか書かないであろう.
問題は十六進の桁の読み方, A,B,...,Fの綴り方がないことである. 私は私なりの提案を持つが, それはまたいずれ.
追記 その後Knuth先生から32¢の支払い証明が送られてきた. 確かに0x$0.20とあり, 中央の枠には案の定
Zero and 〜〜〜〜〜〜〜〜 32/256 Hexadecimal Dollars
と書いてあった. 32¢を送る航空便には94¢の切手が貼ってあった.
2008年11月29日土曜日
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿