【发布时间】:2011-03-13 01:35:54
【问题描述】:
我最近在思考浮点数学是如何在计算机上运行的,我很难理解公式背后的所有技术细节。我需要了解加法、减法、乘法、除法和余数的基础知识。有了这些,我就可以制作三角函数和公式了。
我可以猜到一些东西,但它有点不清楚。我知道可以通过用信号标志、基数和尾数分隔一个 4 字节整数来确定一个固定点。有了这个,我们有一个 1 位标志、一个 5 位基数和一个 10 位尾数。一个 32 位的字非常适合浮点值 :)
要在两个浮点数之间进行加法,我可以简单地尝试添加两个尾数并将进位添加到 5 位基数?这是一种进行浮点数学(或定点数学,是真的)的方法还是我完全错了?
我看到的所有解释都使用公式、乘法等,对于我猜想它们看起来很复杂,会更简单一点。我需要一个更针对初学者而不是数学家的解释。
【问题讨论】:
-
您为什么尝试编写新的浮点函数,而不是简单地使用标准数学库中的函数?
-
我同意这是他应该做的。但是,想知道它是如何工作的肯定没有错。应该有更多这样的人。
-
@Daniel 因为他想学习?基本上,K&R 的“C 编程语言”中的所有练习都让您实现了常见的 unix 实用程序。
-
我想了解微处理器的内部工作原理。我想成为一名工程师。我想把这些功能放在我想到的一个微型 VM 中。看到它在不使用专用硬件的情况下工作和计算东西会非常酷。
标签: math floating-point fixed-point