floating-point相关内容

如何使用_mm_extract_ps SSE GCC instrinc函数将十六进制浮点数转换为C / C ++中的浮点数

我在写一个SSE代码到2D卷积,但SSE文档非常稀疏。 我使用_mm_dp_ps计算点积,使用_mm_extract_ps得到点积结果,但_mm_extract_ps返回一个表示浮点数的十六进制,我不知道如何将这个十六进制浮点数转换为常规浮点数。我可以使用__builtin_ia32_vec_ext_v4sf返回一个float,但我想保持与其他编译器的兼容性。 _mm_extract_p ..
发布时间:2016-10-19 20:52:14 C/C++开发

如何计算一个c ++ double的有效小数位数?

在Java中处理浮点值时,调用toString()方法会给出具有正确浮点数有效数字的打印值。但是,在C ++中,通过stringstream打印一个浮点数将在5位或更少位数后舍入该值。有没有办法“漂亮打印”一个浮动的C ++到(假设)正确的有效数字的数字? 编辑:我想我被误解了。我想要的输出是动态长度,而不是固定的精度。我熟悉setprecision。如果你看看Double的java源,它计 ..
发布时间:2016-10-19 20:29:21 C/C++开发

C ++浮点数和精度

我知道511除以512实际上等于0.998046875。我也知道浮点的精度是7位数。我的问题是,当我做这个数学在C + +(GCC),我得到的结果是0.998047,这是一个舍入的值。我希望只是得到截断值0.998046,我该怎么办? float a = 511.0f; float b = 512.0f; float c = a / b; 解决方案 作为 float ..
发布时间:2016-10-17 10:52:54 C/C++开发

matlab和c ++中的精度差异

我试图对用C ++和Matlab编写的算法进行等价测试。 该算法在时间上包含某种循环,运行次数超过1000次。它具有算术运算和一些数学函数。 我手动为两个平台提供初始输入(如a = 1.767,b = 6.65,...)我检查那些输入的十六进制表示,它们是相同的。所以输入没有问题。并通过16个十进制数字的文本文件获得c ++的输出到matlab。 (我使用“setprecision(32) ..
发布时间:2016-10-17 10:51:35 C/C++开发

浮点比较的奇怪结果

我有这个简单的测试: double h; ... //分配h其初始值的代码,在下面使用 ... if((h> 0)&&(h //分支1 - 计算 } else { //分支2-无计算 } 我列出了我的值,因为我有一些非常奇怪的结果,例如如果: h = 1那么第一个分支到达,不明白为什么,因为如果h = 1我想要branch2计算。 我很困惑的东 ..
发布时间:2016-10-17 10:28:15 C/C++开发

如果运算符<适用于浮点类型,为什么我们不能使用它进行相等测试?

正确测试两个浮点数是否相等是很多人,包括我,不完全理解。然而,今天,我想到了一些标准容器如何定义 operator 方面的等式。我总是看到有关平等问题的人,但从来没有与其他关系比较。甚至还有无声版本可供使用,其中包括除了平等和不平等之外的所有其他内容。 / p> 假设运算符 ..
发布时间:2016-10-17 10:02:05 C/C++开发

c ++比较两个浮点值

我想知道在这两种方式之间比较两个double有什么区别: double a1 = ... ; double a2 = ....; fabs(a1-a2) epsilon (fabs(a1-a2)/ a2) epsilon 有更好的方法吗? / p> 解决方案 本文相当彻底地回答你的问题,我想。您可以跳过“Epsil ..
发布时间:2016-10-17 09:47:22 C/C++开发

Objective-C中的非规范化浮点?

Stack Overflow问题/答案的相关性 为什么将0.1f更改为0会将性能降低10倍? for Objective-C?如果有任何相关性,这应该如何改变我的编码习惯?有什么方法可以关闭Mac OS X上的非标准化浮点吗? 这似乎与iOS完全无关。是正确的吗? 解决方案 正如我在回复您的评论时说的: 它更多的是一个CPU而不是一个语言问题,所以它可能有 相关的Objec ..
发布时间:2016-10-17 09:43:39 移动开发

在浮点坏样式上使用increment(operator ++)?

在浮动上使用增量运算符(++)是否被认为是“坏风格”? 问题:在什么情况下使用 ++ on float variable justised and better than + = 1.0f ?如果没有用例,是否有一个相当可观的C ++风格指南,明确说明float上的++是邪恶的? 对于float ++,有效值,但为1.0。 1.0f没有特殊含义(与整数1不同)。它可能会混淆读者,使他认 ..
发布时间:2016-10-17 09:30:55 C/C++开发

如何在C ++中检查无限和不确定的值?

在我的程序中,无穷大通常出现在一个值除以零时。当我将零除零时,得到不确定性。如何在C ++中检查无限和不确定的值? 在C ++中,无穷大由1表示。不确定由-1。#IND表示。问题是如何测试一个变量是无限的还是不确定的。检查无穷大是相对直接的:你在你的特定C ++中找到无限定义。对于我的情况(VS2003),它是std :: numeric_limits :: infinity()。你必须包括 ..
发布时间:2016-10-17 09:24:33 C/C++开发

是C ++中的浮点加法交换吗?

对于浮点值,是否保证 a + b == b + a ? 相信这在IEEE754中是保证的,然而C ++标准没有规定必须使用IEEE754。唯一相关的文本似乎来自[expr.add]#3: 二进制+运算符的结果是操作数。 数学运算“sum”是可交换的。然而,数学运算“sum”也是关联的,而浮点加法绝对不是关联的。因此,在我看来,我们不能得出结论,数学中“和”的交换性意味着这个引用指 ..
发布时间:2016-10-17 09:24:18 C/C++开发

如何在C ++中跟踪NaN

我将使用C ++做一些数学计算。输入浮点数是有效数字,但在计算后,结果值为NaN。我想跟踪NaN值出现的点(可能使用GDB),而不是在代码中插入大量的 isNan()。但是我发现,即使这样的代码,当NaN值出现时也不会触发异常。 double dirty = 0.0; double nanvalue = 0.0 / dirty; 任何人都可以建议一种跟踪NaN或将Na ..
发布时间:2016-10-14 23:37:45 C/C++开发

为什么没有无符号浮点类型?

可能重复: 为什么C没有未签名的浮动广告? 这个问题可能是非常基本的,可能早些时候回答了,但我想了解为什么C ++没有无符号浮点类型,即使浮点文字可以是有符号或无符号。 $ 3.9.1 / 8-“有三个浮点 点类型:float,double和long double。” $ b $无符号整数类型有两个重要的属性,它们区别于有符号整数类型:“移位”范围(没有负子范围,无负整数,但 ..
发布时间:2016-10-14 21:45:07 C/C++开发

C ++ 03保证的double是否正好表示小整数?

C ++ 03标准是否保证足够小的非零整数在 double 中正确表示?如果不是,C ++ 11怎么样?注意,我不是在这里假设IEEE合规。 我怀疑答案是否,但我很想被证明是错误的。 / p> 当我说足够小时,我的意思是,由一些可以从C ++ 03的保证导出的值,可以通过 std :: numeric_limits 提供的值计算。 $ b b 编辑: 很 ..
发布时间:2016-10-14 21:40:04 C/C++开发

C ++ IsFloat函数

有人知道确定字符串值是否“合格”为浮点数的方便方法? BOOL IsFloat(string MyString) { ... etc ... return ... //如果float; FALSE否则 } 解决方案 t使用Boost库函数,可以像这样编写自己的isFloat函数。 #include ..
发布时间:2016-10-14 21:36:01 C/C++开发