ぺんぎんさんのおうち

日記です。たまに日記じゃないこともあります。

21.12.2019

晴れときどきくもり、みたいな天気だと聞いていたので日中は暖かいことを期待していたんですがそんなことはなかったですね。お日様出てきてほしいものです。今日は八王子の方まで行こうと思ってましたが、想像以上に寒かったので途中で引き返しました。帰りに「これからツーリングいこぞ〜」といった雰囲気のパーティを見かけ、羨ましいなぁとなりながら1人で走ってました。✌️😉✌️

 

n桁の2つの正整数X, Yを乗算する関数mul(X, Y)を使って二乗mul(X, X)するより、二乗専用の関数sqr(X)を作った/使ったほうがいいというのは知っていて、でもなんで二乗の場合は早くできるのか/どう工夫して実装するのかは知らなかったので勉強しました。Intel社が出してる論文がわかりやすかったです。単純な筆算の方法だとn^{2}回の乗算が発生するんですが、工夫するとn+nC2回まで落とせます。ビットシフトも発生しちゃうんですが乗算のコストに比べると非常に小さいので無視できますね。