floating-point相关内容

为什么printf是四舍五入的浮点数?

我正在尝试使用printf打印一些浮点数。 例如: int main() { printf("%.1f",76.75); return 0; } 输出:76.8 我对结果有一些问题。 首先,为什么没有打印76.7? 第二,数字是如何舍入的? 推荐答案 C99§7.19.6.1fprintf函数 f,F double表示浮点数的参数转 ..
发布时间:2022-02-23 14:41:57 其他开发

将浮点序列化为 32 位整数的便携式方法

我一直在努力寻找一种可移植的方法来序列化 C 和 C++ 中的 32 位浮点变量,以便发送到微控制器和从微控制器发送.我希望格式足够明确,以便序列化/反序列化也可以从其他语言完成,而无需太多努力.相关问题是: double/float类型二进制序列化的可移植性在 C++ 中 用C序列化double和float c++ long to double的可移植转换 我知道在大多数 ..
发布时间:2022-01-25 12:34:17 C/C++开发

如何在C中比较浮点变量和双精度?

float num1 = 1;如果 (num1 == 1){printf("是的,相等!!\n");}别的{printf("不,不等于\n");} 输出 --> 是的,它是相等的! 而 float num1 = 1.2;如果 (num1 == 1.2){printf("是的,相等!!\n");}别的{printf("不,不等于\n");} 输出 --> 不,不等于 但是为什么呢? ..
发布时间:2022-01-25 09:28:55 其他开发

使用 == 运算符比较两个舍入浮点数是否正确?

或者有没有可能操作会失败? 谢谢. 我选择了错误的术语,我真正的意思是四舍五入到 0,而不是截断. 关键是,我需要比较两个双精度的整数部分,我只是将它们转换为 int,然后使用 ==,但是,正如有人在我之前的一个问题中指出的那样,这可能会引发溢出如果双精度不能放入整数,则异常. 所以问题是'使用 == 运算符比较两个先前舍入为 0 的双精度值是否正确,或者我应该坚持转换为 ..
发布时间:2022-01-25 09:06:54 C#/.NET

创建具有固定数量元素(长度)的范围

在 Python 2.7 中,如何在具有固定数量元素的范围内创建列表,而不是每个元素之间的固定步长? >>># 在元素之间创建一个固定步长的范围很容易:>>>范围(0, 10, 2)[0, 2, 4, 6, 8]>>># 我正在寻找这样的东西:>>>foo(0, 10, num_of_elements=4)[0.0, 2.5, 5, 7.5] 解决方案 我为此使用 numpy. >>>将 ..
发布时间:2022-01-24 20:15:12 Python

滑块的行为不像我预期的那样

我有一个滑块可以将浮点数从 1 更改为 10,但我想保存此值并在所有视图控制器中使用它,因此我将该浮点数保存为模型类中的 NSNumber (settingsData.sensitivitySliderSettingValue). 我试图在每次更改时将更新后的滑块值输出到控制台,但是它只是设置为 0 而不是 0 到 10.我不明白为什么会这样...... 这是我的代码: -(IBAc ..
发布时间:2022-01-24 18:01:00 移动开发

优化 Haskell 中的数值数组性能

我正在为类似 MineCraft 的世界开发地形生成算法.目前,我正在使用基于论文 'Simplex NoiseDemystified' [PDF],因为单纯形噪声应该比 Perlin 噪声更快并且具有更少的伪影.这看起来相当不错(见图),但到目前为止它也很慢. 运行噪声函数 10 次(我需要具有不同波长的噪声来处理地形高度、温度、树木位置等),每个块(16x16x128 块)的噪声为 3 ..

Julia中的精确十进制算术

由于浮点数学的性质,.4* .4 = 0.16000000000000003 在 Julia 中.我想以 CPU 高效的方式获得 0.16 的数学正确答案.我知道 round() 有效,但这需要事先了解答案占据的小数位数,因此它不是通用解决方案. 解决方案 一些选项: 使用内置的 Rational 类型.最准确和最快的方法是 16//100 * 16//100 如果你使用 ..
发布时间:2022-01-23 19:13:30 其他开发

对未设置的值使用 IEEE754 浮点 NaN 是个好主意吗?

对于因非数学原因未定义的值使用 IEEE754 浮点 NaN(非数字)是否是个好主意? 在我们的例子中,它们尚未设置,因为尚未从其他设备接收到这些值.上下文是使用 IEC1131 REAL32 值的嵌入式系统.编辑: 编程语言是 C,所以我们很可能会使用来自 C99 的 NAN 和 isnanf(x).虽然我们可能需要一些额外的扭曲才能将它们纳入我们的操作系统兼容层. 编程语言的默认设 ..
发布时间:2022-01-19 00:03:41 其他开发

c# 添加浮点数的行为很奇怪

我正在尝试添加一行的单元格并在网格的新单元格中显示总数.我正在使用 DevExpress 的 gridControl.网格有 12 列代表一年中的月份,我想添加月份值并在第 13 列显示总数. 我的问题是,如果我有一个浮点值“111,22",它将作为“111,2188"添加到数据库中,并在第 13 个单元格中显示为没有精度. 所以,我有两个问题.第一个是“为什么将它作为 111,218 ..
发布时间:2022-01-18 10:09:31 C#/.NET