特に固定小数点演算を使用してMIPSアセンブリでいくつかのコードを実装する必要があります。私は何かを逃したのか、そこにそのようなことはないのですか? MIPSの一部ではない場合、どのように整数を使って固定小数点を実装できますか?それはadd/sub/mul/divですか?MIPSの固定小数点演算器
0
A
答えて
2
あなただけの整数演算をサポートするプロセッサを必要とする固定小数点演算コードを実装します。もちろん、一部のプロセッサには固定小数点コードを最適化するための命令がいくつかありますが、必須ではありません。
任意の固定小数点コードでは、まず数値の整数部分と小数部分を表現するのに必要なビット数を決定する必要があります。加算、減算、乗算、および除算を行う通常の命令を使用します固定小数点演算を実行します。
Q formatに関するこのWikipediaの記事では、Q記法の概念と、この概念に基づいて基本的な固定小数点演算を行う方法について説明します。この記事のコード例はC言語で書かれていますが、MIPS basic arithmetic instructionsでも同じことができます。
1
MIPSは32ビットで、with
と小数部をどのように並べ替えることができますかfixed<w,b>
。暗黙的に2進小数点を調整することができます。 add
とsub
は簡単な数式を使用し、mul/div
の場合はとsrl
という命令を使用できます。
ここではそれをうまく説明するリンクがあります。
http://www-inst.eecs.berkeley.edu/~cs61c/sp06/handout/fixedpt.html
関連する問題
- 1. 固定小数点演算でオーバーフローが発生する
- 2. Haskellに固定小数点演算子がありますか?
- 3. 固定小数点除算数
- 4. 浮動小数点演算
- 5. 15.16の数値の固定小数点乗算/除算
- 6. Cでの固定小数点演算を使用するHornerのルール
- 7. 100MHzカウンタをミリ秒に変換する固定小数点演算
- 8. Matlabの固定小数点
- 9. 固定小数点のメガドロップダウンメニュー
- 10. pythonの浮動小数点演算
- 11. Linuxカーネルモジュールの浮動小数点演算
- 12. 小数点入力のバイナリ演算
- 13. MIPSでの浮動小数点数の乗算
- 14. 固定小数点コンビネータ
- 15. jQueryスクロール固定小数点
- 16. 浮動小数点モジュロ演算
- 17. odeint浮動小数点演算
- 18. 左の浮動小数点演算器が押し下げられる
- 19. 数値演算(浮動小数点演算)のためのPython引数パーサ
- 20. 浮動小数点演算の不安定性
- 21. 固定小数点演算(ビット番号付き)の10進数への2の補数の変換
- 22. マッピング[-1、+ 1]はQ31固定小数点に浮動小数点
- 23. 固定小数点から浮動小数点へ
- 24. 固定小数点から浮動小数点データへ
- 25. MIPS入力浮動小数点数
- 26. matlabの固定小数点の反復
- 27. 計算機アプリケーション用の浮動小数点演算のソリューション
- 28. 固定小数点の開発
- 29. C#Genericの固定小数点ジェネレータ
- 30. MPAndroidChart固定小数点のMarkView
@ ArekBulski with mul/div。 Mulはより多くの小数点ビットを作成して(ちょうど数学を計算します)、後で右にシフトすることができます(上半分からシフトインしながら)。divは小数点を使い切るので、左にシフトしたいかもしれません半分)前に。しかし、必ずしもそうではなく、あなたはあなたが行くにつれてあなたのフォーマットを任意に変えることができ、mul/divのペアでは、フォーマットの変更は通常キャンセルされます。 – harold