问题标签 [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.
bash - 如何在浮点数上使用 expr?
我知道这是一个非常愚蠢的问题,但我不知道如何在 bash 中做到这一点:
应该是,66.67
但 expr 说的是0
,因为它不支持浮动。Linux 中的什么命令可以代替 expr 并做这个等式?
algorithm - 当今广泛使用的压缩算法上的不动点
我想知道是否有一种今天常用的压缩算法,它包含一个固定点,即一个身份文件。
为了解释,让我们调用C : byte[] -> byte[]
一个表示压缩算法的函数。我想知道是否存在(以及它是什么,如果可以在合理的时间内确定)f
这样的文件
C(f) = f
也就是说,当通过当今常用的合适的、广为人知的压缩算法压缩时,文件将作为结果生成自身。
你知道这样的现象吗?
iphone - 避免浮点运算
我为 iPhone 编写了一个小型软件合成器。
为了进一步调整性能,我用 Shark 测量了我的应用程序,发现我在浮点/SInt16 转换中浪费了很多时间。
因此,我重写了一些部分以通过预先计算返回“即用型”SInt16 样本的查找表来绕过转换。到目前为止,这工作正常。
目前我正在尝试重写一些过滤器和我的 ADSR 包络实现以仅使用整数算术,但我可以使用一些技巧来执行没有浮点数的乘法/除法。
我的目标是iPhone 规范格式:
- LPCM
- 16 位整数样本
在不使用浮点数的情况下将幅度应用于我的最终样本的好方法是什么?
编辑:
到目前为止,我唯一想到的是,我可以通过右移当前样本来除以 2 的幂。
但我想不出任何优雅的方式来创建一个平滑的 ADSR 信封。
Edit2:
感谢您的所有精彩回答!
我目前的做法:
- 将我所有的 ADSR 包络值带入正 SInt16 范围
- 与波表中的当前值相乘(将中间体存储为 SInt32)
- 将结果右移 16
这似乎工作:)
algorithm - 定点反正弦
有谁知道一种(最好是快速)计算 4.12 固定点角度正弦的方法?(结果是圆的 32768 度或度数)
4.12定点表示数字为16位,左移12位,所以1.0变为(1 << 12)或4096。0.5为(0.5 << 12) == 2048,以此类推。
signal-processing - 复数:快速笛卡尔到极坐标转换
我正在寻找一种将复数数组转换为极坐标表示的快速方法。
例如,给定一个复数 XI 想把它变成这样的极坐标表示:
我需要在定点 DSP 上每秒进行大约 40 万次的转换。我的号码是 1.15.16 定点格式,我想保持这种格式。
当我在无条件循环中执行操作时,DSP 非常快,例如,当循环计数预先知道时。当它必须进行子程序调用和分割时,它会爬行。缓存未命中也很慢,所以如果可能的话,我不想使用大型查找表(4k 就可以了。我可以为该任务留出一点片上内存)。
目前,我将 atan2 处理为多项式近似,并使用众所周知的按位算法来计算整数平方根。这还不够快。
我觉得应该有一种更有效的方法来获得结果。也许可以共享来自 sqrt 和 atan 的一些计算?或者有没有一种迭代的方式来获得我的结果?
apache-flex - 是否有用于 actionscript 3 的定点库?
我想在 Flex 中编写一个计算器,但在网上找不到任何定点库。
对于计算器,我需要更高的精度,然后 IEEE 754 可以保证。例如:
有人可以推荐一个好的定点库吗?
先感谢您
c++ - 在 x86 上的 c/c++ 中将 16.16 定点转换为 32 位浮点的最快方法?
大多数人似乎都想走另一条路。我想知道是否有一种将定点转换为浮点的快速方法,最好是使用 SSE2。直接的 C 或 C++ 甚至 asm 都可以。
mysql - 在mysql中存储金额
我想将 3.50 存储到 mysql 表中。我有一个存储它的浮点数,但它存储为 3.5,而不是 3.50。我怎样才能让它有尾随零?
naming-conventions - 如何命名函数以提取十进制数的一部分?
我正在编写一个处理十进制数的类,例如“123.456”。我想要一个提取小数点前数字的函数(123),以及一个提取小数点后数字的函数(0.456)。我的问题不是如何进行编程,而是如何命名函数?你有什么比digits_before_point()
and更好的主意digits_after_point()
吗?
floating-point - 定点到浮点和向后
正在转换固定 Pt。(固定 n 位的分数)到 IEEE 双重安全?
即:IEEE双重格式是否可以表示一个定点可以表示的所有数字?
测试:一个数字变为浮动 pt 格式,然后回到原来的固定 pt 格式。