fixed-point相关内容

不带64位临时性的定点乘法

嗨,我正在为嵌入式系统实现一些定点数学知识,并且我尝试对两个16.16定点数进行乘法运算,而不创建64位临时数.到目前为止,这里是我想出的产生最少指令的代码. int multiply(int x, int y){ int result; long long temp = x; temp *= y; temp >>= 16; result = temp ..
发布时间:2020-05-21 20:40:24 其他开发

如何将两个定点数相乘?

我目前正在尝试找出如何在定点表示形式中将两个数字相乘. 说我的数字表示法如下: [SIGN][2^0].[2^-1][2^-2]..[2^-14] 在我的情况下,为数字10.01000000000000 = -0.25. 例如,我该怎么做0.25x0.25或-0.25x0.25等? 希望您能提供帮助! 解决方案 乘以一个更大的变量,然后右移定点精度的位数. ..
发布时间:2020-05-13 19:21:05 其他开发

C语言中的浮点算法

我最近正在思考浮点数学在计算机上的工作方式,这让我很难理解公式背后的所有技术细节.我需要了解加法,减法,乘法,除法和余数的基础.有了这些,我就能制作出触发函数和公式. 我可以猜出一些东西,但是还不清楚.我知道可以通过用信号标志,基数和尾数分隔4个字节的整数来确定一个固定点.有了这个我们有一个1位的标志,一个5位的基数和一个10位的尾数. 32位字对于浮点值非常合适:) 要在两个浮点数之 ..
发布时间:2020-05-06 11:25:20 其他开发

固定点的逆平方根

我正在寻找固定点16.16数的最佳逆平方根算法.到目前为止,下面的代码是我所拥有的(但是基本上,它取平方根并除以原始数,我想得到不除数的平方根倒数).如果更改了任何内容,则将为armv5te编译代码. uint32_t INVSQRT(uint32_t n) { uint64_t op, res, one; op = ((uint64_t)n ..
发布时间:2020-05-06 10:47:46 其他开发

如何使用32位除法指令执行64位除法?

这是(AFAIK)在此常规中的一个特定问题主题. 这里是情况: 我有一个基于32位RISC微控制器(NEC V810的变体)的嵌入式系统(视频游戏机).我想写一个定点数学库.我阅读了这篇文章,但是随附的源代码是用386程序集编写的,因此既不能直接使用,也不能轻易修改. V810具有内置的整数乘法/除法功能,但是我想使用上面文章中提到的18.14格式.这需要将64位int除以32位 ..

反转4x4矩阵-需要数值最稳定的解决方案

我想反转一个4x4矩阵.我的号码以定点格式存储(准确的说是1.15.16). 我通常使用浮点算术构建伴随矩阵并除以行列式(例如蛮力求解).到目前为止,这对我仍然有效,但是在处理定点数时,由于使用了所有的乘法运算,我得到的精度损失是不可接受的. 注意:在定点算法中,我总是丢弃立即结果中的一些最低有效位. 那么-反转矩阵的最数值稳定的方法是什么?我不太在乎性能,但是简单地浮点运算会降 ..

如何迭代直到Clojure中的一个固定点?

我经常处于我的代码如下所示的位置: (迭代改进x) 我正在寻找第一个不再比以前更好的价值。 过滤器和 take-while 都不适用于一个明显的解决方案。但是,我犹豫要写出来: (循环[当前x next(改善x)] (如果(=当前下一个) 当前 (重复下一个(改善下一个)))) 或: (让[改进(迭代改进x)] ( - >>(地图矢量改 ..
发布时间:2018-11-15 15:44:51 其他开发

如何使用Functor实例和Fix类型

假设我想要一个非常通用的 ListF 数据类型: { - #LANGUAGE GADTs,DataKinds# - } data ListF :: * - > * - > *其中 无::列出b 缺点:: a - > b - >列表ab 现在我可以使用 Data.Fix 构建一个f-代数 将合格的Data.Fix导入为Fx 实例Functor( ..
发布时间:2018-06-05 10:49:06 其他开发

Haskell中的定点组合器

修复f = f(修复f ) 以下代码不会终止: 修复(\ x-> x * x)0 当然, fix 并不总能产生正确的答案,但我想知道,这可以改进吗? 当然,对于上面的例子,可以实现一些看起来像 修复fx | f x == f(f x)= f x |否则=修正f(fx) 并给出正确的输出。 上面定义的原因是什么 ..
发布时间:2018-06-04 14:57:22 其他开发

定点到浮点和向后

正在转换固定铂。 (固定n比特为分数)到IEEE双重安全吗? ie:确实IEEE双格式可以表示一个固定点可以表示的所有数字吗? 测试:一个数字转为浮动pt格式,然后返回到原来的固定pt格式。 p>假设你的定点数是以32位整数存储的,那么IEEE双精度可以表示任何以固定点表示的值。这是因为double有一个53位的尾数,你的定点值只有32位的精度,而定点值的浮点指数在-32到32之间(取 ..

定点Cholesky算法的优点

我正在开发一些代码,可以从浮点或固定点的硬件中获取数据。目前,我们将其作为浮点数。 低层API都处于固定点。所以我们必须把数据作为定点传回去。我们使用的算法是Cholesky。我想知道为什么我们必须使用Cholesky的浮点数,而不是仅仅把数据作为固定点。这样做有什么好处吗? 我会认为使用浮点数会导致更多的舍入误差。 解决方案 定点超过浮点的主要优点是 在硬件中实现起来要 ..
发布时间:2017-12-21 22:15:28 其他开发

这些天何时使用固定点

对于激烈的数字计算,我正在考虑使用固定点而不是浮点数。当然,固定点类型的大小有多少个字节,运行在哪个CPU上,如果我可以使用MMX或SSE或任何新的东西, p> 我想知道如果现在浮点运行的速度比以前更快,是否值得考虑固定点?是否有一般的经验法则,我们可以说它会超过几个百分点?从35000英尺的数字表现来看,什么是概述? (顺便说一句,我假设一般的CPU在大多数电脑中找到,而不是DSP或专门的 ..

浮点和定点表示的优缺点

我在过去三天一直在努力去理解浮点和定点表示之间的确切区别。我很困惑阅读材料,我无法决定什么是对的,什么是错的。其中一个问题是“精确”,“尾数”,“非标准化”,“下溢”等技术术语的含义。 任何人都可以用例子给出分歧吗? 到目前为止,并能够清楚地理解)如下所示: - $ / 浮点数 - 1. 优势提供非常大的范围 2. 缺点四舍五入大号 定点 - 1. 优势 ..
发布时间:2017-12-21 21:43:45 其他开发

Oracle浮点数与数字

我在看到冲突的引用神谕文档。在数据库中FLOAT和NUMBER类型的小数点之间有什么区别吗? 我记得C等人的一个浮点数有精度限制,一个int不具有。例如,对于'浮动',0.1(基数10)近似为0.110011001100110011001101(基数2),其等于0.100000001490116119384765625(基数10)。但是,对于int,5(Base 10)恰好是101(Base ..
发布时间:2017-12-21 21:00:49 数据库

在mysql中存储金额

我想将3.50存储到一个MySQL表中。我有一个float,我存储它,但它存储为3.5,而不是3.50。我怎么能得到它的尾部零? 解决方案 不要存储货币值为浮动,使用DECIMAL或NUMERIC类型: MySQL数字类型的文档 编辑&澄清: 浮点值容易出现舍入误差,因为它们的精度有限,所以除非你不关心你只能得到9.99而不是10.00,否则应该使用DECIMAL / N ..
发布时间:2017-12-19 22:34:24 数据库

C ++:仿真固定点除法/乘法

我在写一个Fixedpoint类,但是遇到了一个陷阱的位...乘法,除法部分,我不知道如何模拟。我对分部运营商采取了一个非常粗鲁的刺,但我相信它是错误的。以下是它到目前为止的样子: class Fixed { Fixed(short int _value,short int _part): value(long(_value +(_part>> 8))),part(long(_pa ..