APPLE落下部門

[ポール・カーティス]はSEGGERの上分裂を計算に関するブログ記事の興味深いシリーズを持っています。これは熱いトピックでしたが、最近は多くのコンピュータやコンピュータ言語は内蔵の乗算と除算をサポートしています。しかし、一部のプロセッサは、命令と、それは理想的とは言えないかもしれない行うためのライブラリを欠いています。あなたはスピードやスペースを最適化することを可能にするかもしれないあなた自身をロールバックする方法を知っています。除算を行うには、ニュートンのアルゴリズムを使用して、現在の割賦カバー。

スティーブ・マーティンは、億万長者になると税金を払うことはありません方法についての有名なビットを持っていました。彼はまず…数百万ドルを取得します」、と言って始まりました。あなたが最初にあなたが分割することができます前に掛け合わせる方法を知っている必要があり以来続いて…」このメソッドは、少しそのようなものです。基本的な前提は2つあり:ニュートン法を使用すると、連続した乗算による逆数の推定値を洗練して、逆数は分割と同じ数を乗じてみましょう。私たちは6で34を分割する必要がある場合はつまり、あなたは* 1/6 34に6分の34を書き換えることができ、答えは同じです。

逆数のためのニュートンの近似は、あなたが答えを推測を取り、その後、一連の乗算を通してそれを絞り込むことができます。各乗算は、より良い精度を作成します。あなたは、古典的なスピード/スペースのトレードオフを実行するためにこれを使用することができます。たとえば、ちょうど私達がバイト(おそらく固定小数点バイト)の逆数を見つけたいとしましょう。 256個の要素のルックアップテーブルは、完璧な精度を提供することになると非常に高速になります。これ以上の数学は必要ありません。しかし、何についての32ビット?今の表では、あまりにも大きいです。しかし、あなたは、ルックアップする32ビットの番号の最初の8ビット、言うことができます。以上。以下。あなたにとって重要なものに依存します。

だから今、あなたはあなたの逆数の貧弱な推定値を持っています。サー・アイザックはそれを改善することができます。いくつかの数aについて、あなたは一緒にあなたの見積もり(x)と乗算それらを取ります。 2からその数を引くと、新しい見積もりを取得することにより、古い推定値を乗算する係数を有します。先にスキップ、あなたの推定が正しかった場合、乗算はあなたにすべての古い推定値を変更しないだろう1を与えるだろう明らかです。見積もりがオフになっている場合は、倍率を取得します。

式として、それは次のようになります。

X = X *(2 * X)。
あなたは22の逆数は0.02であるかもしれないを決めるのであれば、最初のパスはあなたを与えるだろう。

0.02 *(2-22 * 0.02)= 0.0312

0.0312 *(2-22 * 0.0312)= 0.0410

0.0410 *(2-22 * 0.0410)= 0.0450
正しい答えは、循環小数0.0454545であり、あなたが続けるならば、あなたはそこに取得します。

もちろん、あなたは分裂を行うための1以上の時間を掛けなければなりません。

我々は、ポストは、固定小数点実装を有しており、次にARM、RISC-V、およびdsPIC30ため、得られたアセンブリコードを検査することを好みました。まあ価値読みます。

我々は、アセンブリ言語で使用できる数学のトリックが大好きです。あなたはAVRと浮動小数点で作業している場合、この方法をお見逃しなく。

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

I2C ARDUIO GPSシールドI2C ARDUIO GPSシールド

[Wayne]は、ArduinoのためのI2C GPSシールドを完了したばかりの製品を共有するために構成されています。他のGPSソリューションがかなりある程度存在していましたが、その機能リストのために彼の目を引いた。 シールドは、従来のGPSアドオンから生のNMEAデータを解析して接続された手間の大きな手間を取り除きます。 RAWデータを取得するために、GPSモジュールとシリアルを介して対話する選択肢があるが、I2Cインターフェースの利用は最も一般的に利用されているGPSデータをそよ風にすることができる。 GPSモジュール自体は、1~10 Hzのどこでも更新するように設定することができます。 I2Cは主にデータを取得するために利用されていますが、その管理レジスタを介してGPSを設定するために使用することもできます。 彼が競争力のある価格で事前に集められたユニットを提供している間、[ウェイン]も同様に概略図を提供し、あなたが適切なコンポーネントを調達したときにこれを単純な午後の仕事にします。

Vimの把握Vimの把握

emacs、vi、またはvimを使っているかどうかにかかわらず、あなたの指はあなたのキーボードの上にアクロバットを実行します。 [Alevchuk]キーストロークの量を減らす方法として彼の足を使うことができると思ったので、Vimクラッチを作りました。 Vimのカーソルの前に文字を挿入するUSB​​対応のフットペダルです。 VIMには、カーソルの前にテキストを挿入するために文字 ‘i’を入力する必要があります。 [AlevChuk]この機能はフットペダルで簡単に複製することができるので、彼は彼のVimクラッチとして働くために信じられないほど安いUSBフットペダルを見つけました。理想的には、ペダルは、それが解除されたときに押されたときに「i」を送るべきである。 [AlevChuk]は2つのペダルを取り、もう一方をESCを送信し、それらを同じエンクロージャに入れるようにプログラムしました。 その結果、VIMのカーソルの前に挿入するための作業把握が行われます。 [AlevChuk]ラインの先頭と終わりに挿入を追加するための3ペダルモデルを彼のヴィムクラッチに調べているので、構築したメッセージの間に目をそらします。

良い原因でエクササイズしてください、冷たいビール良い原因でエクササイズしてください、冷たいビール

私たちが私たちの家の中にスペースを埋めたいアイテムを決めるのに挑戦的な場合があります。 私たちの健康は、冷たいビールを消費する私たちの能力のように、非常に評価されています。 彼らがあなたのビールを冷やす自転車を開発したときに私たちを考えていたはずです。 確かに、それは私たちが試してみた他の方法のようにそれを寒くすることはありません。 私たちはまた、私たちの仲間と愛する人たちが実際の冷たりをするために強制的に行われるかもしれませんが、とにかくスレーブ労働者によって冷却されたときにビールが良いです。