Index / Reload

Comment on 2006-01-24

2006-01-24 について、コメントがあればどうぞ!
E-mail アドレスは公開されません。URL は公開されます。
なお、管理者の判断により予告なくコメントを削除することがあります。 ご了承下さい。

パスワードを入力すると後からコメントの修正が可能です。

確認:下の Check の項目に 0nz2OQED をコピーして入力してね。

お名前:
E-mail or URL:
Check: ← 上の方にある確認文字列を入力してね。
Password:
コメント:
* nminoru 2006-01-27 09:29:28 [Edit]

おっしゃる通り 10 で割る計算に素直に div 命令を使ってくれるコンパイラは少なく、
itoa1 や itoa2 でも 3435973837 (0xCCCCCCCD)、-3689348814741910323 (0xCCCCCCCCCCCCCCCD) を使った近似をされていました。

また itoa3 の value * 52429 も i386 と SPARC では定数乗算の展開をされて、
tmp = value << 4 - value << 2;
ret = tmp << 24 + tmp << 16 + tmp << 8 + tmp + value;
のように展開されています。SPARC はいいのですが、Pentium4 だと逆効果のような…

* ぶぅ 2006-01-26 10:23:34 [Edit]

乗算が速くないとか、あるいはコンパイラ内部で除算を乗算に変換してるとかは考えられませんか?

Powered by くっつき BBS