标准化浮点数

发布于 2024-11-02 23:45:24 字数 143 浏览 8 评论 0原文

我正在使用 MARS 进行浮点加法。

  SameExponent:
  add $s6,$s4,$s5 

对齐指数后,我将有效数字相加,但是如何检测总和是否仍然标准化,以便将有效数字向左或向右移动?谢谢

i am doing floating point addition using MARS.

  SameExponent:
  add $s6,$s4,$s5 

after I aligned the exponents, I added up the significands,but how do I detect if the sum is still normalized or not in order to shift the signicicand to the left or right? Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花开半夏魅人心 2024-11-09 23:45:24

如果尾数是 -A ... +A 范围内的整数,则将它们相加的结果在 -2A ... +2A 范围内。要标准化结果,您需要向左或向右移动,以使最高有效的 1 位回到标准化位置,并跟踪移动的量,以便相应地调整指数。

最多需要右移一位;如果你的论点可能是积极的或消极的,左移可能会更多。最简单的方法是使用 while 式循环,左移一位,直到 MSB 到达您想要的位置。

算法如果您想要更快的速度,那么找到大于或等于给定值的最小的 2 的幂 有一些替代的可能性(尽管对于 MIPS 来说没有什么)。

If the significands are integers in the range -A ... +A, then the result of adding them together is in the range -2A ... +2A. To normalize the result you need to shift left or right to get the most-significant 1 bit back to the normalized position, keeping track of how much you shifted so you can adjust the exponent accordingly.

The maximum required right shift is one position; the left shift can be more if your arguments may be positive or negative. The simple way to do it is a while-style loop, shifting left by one until the MSB is where you want.

Algorithm for finding the smallest power of two that's greater or equal to a given value has some alternate possibilities if you want something faster (nothing for MIPS though).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文