ieee-754相关内容

为什么IEEE-754浮点不能在平台之间互换?

声明 (即使考虑到字节的字节序),也不保证IEEE754浮点可以在平台之间互换. 所以: 从理论上讲,为什么平台之间不能交换IEEE浮点 ? 这些关注点是否对现代硬件平台(例如i686,x64,arm)有效? 如果这些担心是正确的,请您举个例子说明这种情况(首选C或C ++)吗? 动机:几个 GPS 解决方案 IEEE 754条款3.4指定了二进制交换格式编码.给定浮 ..
发布时间:2020-06-15 18:51:32 C/C++开发

如何在Java中将浮点数的有效位数截断为任意精度?

我想在两个要比较的数字中引入一些人为的精度损失,以消除较小的舍入误差,这样我就不必在每次涉及x和y的比较中都使用Math.abs(x - y) 本质上,我想要的东西的行为类似于将double向下投射到float,然后将其向上投射回到double,除了我还希望保留非常大和非常小的指数,以及我想控制保留的有效位数. 给出以下函数,该函数生成64位IEEE 754的有 ..
发布时间:2020-06-12 19:26:21 Java开发

随机排序的IEEE 754双精度浮点数之和的结果

这是我的问题的伪代码. 我有一个 IEEE 754 双精度正数数组. 数组可以按随机顺序排列,但数字始终相同,只是位置混乱.同样,这些数字可以在double表示形式的有效IEEE范围内很大范围内变化. 一旦有了列表,我就会初始化一个变量: double sum_result = 0.0; 然后在整个数组的循环中,将和累加到sum_result上.在每一步中,我都会这样做 ..
发布时间:2020-06-12 19:25:07 其他开发

IEEE 754浮点除法的可逆性

IEEE 754浮点除法的可逆性是什么?我的意思是,该标准是否保证如果double y = 1.0 / x然后x == 1.0 / y,即x可以精确地一点一点恢复? y是infinity或NaN的情况是明显的例外. 解决方案 是的,IEEE 754双精度(*)值x就是x != 1.0 / (1.0 / x). 使用此属性可以轻松构建一个正常值的示例:在以十进制%.16e格式,0 ..
发布时间:2020-06-12 19:23:03 C/C++开发

是52位还是53位浮点精度?

我继续看到这种在64位IEEE浮点表示法中约53位精度的废话.有人可以向我解释一下,世界上被1所卡住的东西如何对数值精度有任何贡献?如果您的浮点单元的bit0固定为1,那么您当然会知道它产生的精度比正常情况低1位.这些敏感性在哪里? 此外,只有指数(不带尾数的比例因子)完全指定了数字的前导位的确切位置,因此从未使用过任何前导位.第53个钻头与第19个钻头差不多真实.它只是(有用的)拐杖来帮助 ..
发布时间:2020-06-12 19:21:01 其他开发

虚假解析/评估复杂文字

在评估复数时,python喜欢摆弄符号. >>> -0j (-0-0j) >>> (-0-0j) 0j 为什么? nb:在阅读这个问题时,我注意到了. 解决方案 这里的问题是Python不会将诸如(-0-0j)之类的复数解析为文字,它们实际上被解析为一个表达式: >>> import ast >>> ast.dump(ast.parse('(-0-0j)')) 'Mo ..
发布时间:2020-05-25 01:45:15 Python

了解std :: isnan的编译结果

我一直以为,通过 测试NAN实际上几乎没有区别 x!=x 或 std::isnan(x) 但是,gcc为这两个版本提供了不同的汇编器( Godbolt.org上的): ;x!=x: ucomisd %xmm0, %xmm0 movl $1, %edx setne %al cmovp %edx, %eax ret ;std::isnan(x) ..
发布时间:2020-05-21 21:14:29 C/C++开发

-ffast-math可以安全地用于典型项目吗?

在回答我建议-ffast-math的问题时,有评论指出这很危险. 我个人的感觉是,经过科学的计算,还可以.我还假设严重的金融应用程序使用定点而不是浮点. 当然,如果要在项目中使用它,最终的答案是在项目上对其进行测试,并查看对其有多大影响.但是我认为,经过尝试并具有此类优化经验的人可以给出一个普遍的答案: ffast-math可以在 normal 项目中安全使用吗? 鉴于IE ..
发布时间:2020-05-21 21:14:02 C/C++开发

用Python将十进制转换为二进制半精度IEEE 754

我只能使用struct.pack模块将小数转换为二进制单精度IEEE754,或者使用numpy.frombuffer 进行相反的操作(float16或float32) 是否可以使用Numpy将十进制转换为二进制半精度浮点数? 我需要打印转换结果,因此,如果键入"117.0",它应该显示"0101011101010000" 解决方案 如果我输入"117.0",则应打印"0101 ..
发布时间:2020-05-18 22:24:16 Python

我们可以将浮点中的任何值用于自定义标志吗?

我用LINUX RHEL 64bit编写代码,并使用C ++ 98. 我有一个浮点值数组,我想将一些值“标记"为“无效".一种可能的解决方案是使用另一个位数组来判断相应的值是否有效. 我想知道我们是否可以使用任何特殊的double值.链接为什么IEEE 754会保留这么多NaN值?表示有很多NaN值.我们可以使用为我的问题保留的任何值吗? 就我的定义而言,我只需要有效负载中的一位 ..
发布时间:2020-05-16 20:55:17 其他开发

为什么无穷大×0 = NaN?

IEEE 754将1/0的结果指定为∞(无穷大). 但是,IEEE 754然后将0×∞的结果指定为NaN. 这感觉与直觉相反:为什么0×∞不为0? 我们可以将1/0 =∞视为z趋于零的1/z极限 我们可以将0×∞= 0视为0×z的极限,因为z趋于∞. 为什么IEEE标准遵循直觉1.而不遵循直觉2.? 解决方案 如果您不认为IEEE 754浮点零和无穷实际上是零 ..
发布时间:2020-05-16 20:51:29 其他开发

为什么我们需要IEEE 754余数?

我刚刚阅读了该主题(尤其是最后的评论). 然后我在想,为什么我们真正需要这个是剩下的.但是,似乎没有多少人“在Google上"对它感兴趣…… 解决方案 如果您正在寻找自己想要的原因,那就是所谓的“范围缩小" 假设您要使用sind函数来计算参数的正弦值(以度为单位).做到这一点的一种天真的方法是 sind(x) = sin(x*pi/180) 但是,这里的pi不是真正 ..
发布时间:2020-05-10 21:11:29 其他开发

是否有具有非IEEE C/C ++浮点格式的现代平台?

我正在编写视频游戏 Humm and Strumm ,该游戏的游戏引擎中需要网络组件.我可以轻松地处理字节序方面的差异,但是在尝试处理可能的float内存格式时遇到了麻烦.我知道现代计算机都具有标准整数格式,但是我听说它们可能并不都对浮点整数使用IEEE标准.这是真的吗? 虽然我可以将其作为字符串输出到每个数据包中,但是无论平台如何,我仍然必须转换为每个客户端的“众所周知的格式".标准的pr ..
发布时间:2020-05-08 19:31:18 C/C++开发

在matlab中支持float16吗?

MATLAB是否支持float16操作?如果是这样,如何将双精度矩阵转换为float16?我正在一个大型矩阵上执行算术运算,在该矩阵上16位浮点表示足以满足我的表示要求.用双精度数据类型表示要占用4倍以上的内存. 解决方案 您的矩阵是否已满?否则,请尝试sparse -如果有很多零值元素,则会节省大量内存. 不支持 AFAIK,float16.进入float -datatype的最低要 ..
发布时间:2020-05-06 14:00:55 其他开发

`std :: sin`在最后一点是错误的

为了提高效率,我正在将一些程序从Matlab移植到C ++.两个程序的输出必须完全相同(**),这一点很重要. 此操作我面临不同的结果: std::sin(0.497418836818383950) = 0.477158760259608410 (C++) sin(0.497418836818383950) = 0.47715876025960846000 (Matl ..
发布时间:2020-05-06 13:54:05 C/C++开发

Golang中的负零文字

IEEE754支持负零. 但是这段代码 a := -0.0 fmt.Println(a, 1/a) 输出 0 +Inf 我期望的地方 -0 -Inf 其他基于float格式基于IEEE754的语言,您可以创建负零文字 Java: float a = -0f; System.out.printf("%f %f", a, 1/a); // outputs " ..
发布时间:2020-05-06 11:11:20 其他开发