问题标签 [fixed-point]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
math - 如何使用 32 位除法指令执行 64 位除法?
这是(AFAIK)这个一般主题中的一个特定问题。
情况如下:
我有一个基于 32 位 RISC 微控制器(NEC V810 的变体)的嵌入式系统(视频游戏机)。我想写一个定点数学库。我看了这篇文章,但是随附的源代码是用 386 汇编编写的,因此既不能直接使用也不能轻易修改。
V810 内置了整数乘除法,但我想使用上面文章中提到的 18.14 格式。这需要将 64 位整数除以 32 位整数,而 V810 仅执行(有符号或无符号)32 位/32 位除法(产生 32 位商和 32 位余数)。
所以,我的问题是:如何用 32 位/32 位除法模拟 64 位/32 位除法(以允许预移动被除数)?或者,从另一种方式来看问题,使用标准 32 位算术/逻辑运算将 18.14 定点除以另一个定点的最佳方法是什么?(“最佳”表示最快、最小或两者兼而有之)。
代数、(V810)汇编和伪代码都很好。我将从 C 调用代码。
提前致谢!
编辑:不知何故我错过了这个问题......但是,它仍然需要一些修改才能超级高效(它必须比 v810 提供的浮点 div 更快,尽管它可能已经是......),因此,请随时为我做我的工作以换取声誉积分;)(当然还有我的图书馆文档中的信用)。
python - Python:从两个 32 位整数创建定点小数(一个用于整数部分,一个用于十进制)
我从包含二进制数据的文件中解压缩了一个 64 位时间戳,其中前 32 位是秒数,后 32 位是秒的分数。我坚持如何将底部的 32 位实际转换为分数,而不是逐位循环。
有什么建议么?
作为参考,数字4ca1f350 9481ef80
转换为1285682000.580107659
编辑:对于上下文:数据来自数据包捕获设备,我看到的文档说它的小数部分具有大约纳秒的精度(特别是它输出 32 位中的 29 位,大约 2ns)。
c++ - 在 C++ 中将 double 转换为固定小数点
我在 C++ 中有一个双变量,并希望将其作为固定小数点数字打印到屏幕上。
基本上我想知道如何编写一个函数,该函数采用双精度和小数位数并将数字打印到小数位数,必要时补零。
例如:
会打印出来
和
会打印出来
所以这个函数的工作原理是
并简单地将所需的值打印到标准输出 (cout)。
有谁知道如何做到这一点?
提前致谢。
c - 如何将具有两个无符号短裤的结构视为无符号整数?(在 C 中)
我创建了一个结构来表示一个定点正数。我希望小数点两边的数字包含 2 个字节。
现在我想添加两个定点数,Fixed x
和Fixed y
。为此,我将它们视为整数并相加。
但正如我的 Visual Studio 2010 编译器所说,我无法在 和 之间进行Fixed
转换int
。
这样做的正确方法是什么?
编辑:我不致力于{short floor, short fraction}
实施固定。
types - 什么是定点整数?
在http://microformats.org/wiki/hreview-aggregate
它说:
评级。必需的。定点整数 [1.0-5.0],可选交替最差(默认值:1.0)和/或最佳值(默认值:5.0),还有定点整数和显式平均值。
什么是定点整数?也许这意味着整数?为什么 1.0 或 2.5 或 5.0 也称为“定点整数”?因为整数没有小数部分。
fixed-point - 定点算术
我目前正在使用 Microchip 的定点库,但我认为这适用于大多数定点库。它支持 Q15 和 Q15.16 类型,分别为 16 位和 32 位数据。
我注意到的一件事是它不包括加、减、乘或除函数。
我该怎么做这些?是否像使用整数数学将它们加/减/乘/除一样简单?我可以看到加法和减法工作,但乘法或除法不会处理小数部分......?
c - 如何将浮点 C 代码转换为定点?
我有一个使用双精度的 C 代码。我希望能够在 DSP ( TMS320 ) 上运行代码。但是 DSP 不支持双精度数,只支持定点数。将代码转换为定点的最佳方法是什么?是否有用于定点数(以整数实现)的良好 C 库?
php - 用 PHP 做精确的实数运算
在 PHP 中对表示实数的字符串进行基本算术运算的最快和最简单的方法是什么?我有一个代表 MySQL 的 DECIMAL 值的字符串,我想对其进行操作并将结果返回到数据库。我想避免浮点实数表示引入的错误。
有没有像 Python 的十进制这样的标准库?您可以推荐任何 FOSS 库吗?
问候
.net - 派生十进制类型 - 固定精度
.NET 中有没有一种方法可以创建派生自十进制的类型,该类型将用作货币,因此它将算术运算四舍五入到所需的小数位数。
如果不是,那么 .NET 中的最佳实践是什么?
编辑(动机):
假设我有一个价格:
我卖掉0.25
它的一部分,这相当于31.25
现在,我有 15% 的折扣,要计算折扣并以绝对值呈现,我将有:
如果我使用其他方式:
例如,如果我让一些第 3 方控件截断并显示它,我可以:
如果你给她这样的东西,每个会计师都会吃掉你的壁炉。
在这里加税,问题会进一步增加。
因此,不要存储尽可能多的小数并尽可能晚地将其四舍五入。创建一个在财务上正确的类,并尽快将其存储为舍入/截断。