floating-point相关内容

如何将浮点数转换为二进制?

谁能告诉我如何将这个浮点数:12.25 转换为二进制?我知道如何转换“12"而不是 0.25 非常感谢任何帮助.谢谢 解决方案 不断将小数点后的数字乘以2,直到变成1.0: 0.25*2 = 0.500.50*2 = 1.00 结果是相反的顺序是 0.01 ..
发布时间:2022-01-09 19:23:23 其他开发

浮点到二进制值(C++)

我想在 C++ 中获取一个浮点数,例如 2.25125,以及一个填充了二进制值的 int 数组,该二进制值用于将浮点数存储在内存中 (IEEE 754). 所以我可以取一个数字,最后得到一个带有浮点二进制值的 int num[16] 数组:num[0] 将是 1num[1] 将是 1num[2] 将是 0num[3] 将是 1等等…… 将 int 放入数组并不难,只是获取浮点数的二进制 ..
发布时间:2022-01-09 19:19:53 C/C++开发

浮点数的精确总和

我知道 一个类似的问题,但我想征求人们对我的算法的意见,以尽可能准确地将浮点数与实际成本相加. 这是我的第一个解决方案: 将所有数字放入最小绝对堆中.//按照下面的评论进行编辑弹出两个最小的.添加它们.将结果放回堆中.继续,直到堆中只有 1 个数字. 这个需要 O(n*logn) 而不是正常的 O(n).真的值得吗? 第二种解决方案来自我正在处理的数据的特征.这是一个巨大的正数列表 ..
发布时间:2022-01-09 15:47:03 其他开发

将 PHP 浮点数/十进制值插入 MySQL

说实话,这是一个非常简单的问题.我一直在谷歌上寻找解决方案,但似乎没有任何效果.我的数据库中有以下字段: 十进制(2,1) 我在 PHP 中有两个变量(来自通过 POST 插入表单的值)我想将它们加在一起,然后插入到这个字段中. $sql2 = $link->prepare("INSERT INTO League_stats (match_id, rating)值 (?, ?)");$sql ..
发布时间:2022-01-09 13:01:25 PHP

IEEE-754 浮点精度:允许多少误差?

我正在从 sqrt 函数(用于 64 位双精度)>fdlibm 到我目前正在使用的模型检查工具 (cbmc). 作为我工作的一部分,我阅读了很多关于 ieee-754 标准的内容,但我认为我不了解基本操作(包括 sqrt)的精度保证. 测试我的 fdlibm 的 sqrt 端口,我在 64 位双精度上使用 sqrt 得到以下计算: SQRT(19770615168252036055552 ..

javascript 如何以如此准确的方式打印 0.1?

我听说 javascript Numbers IEEE 754 浮点数,这解释了原因 >0.3 - 0.20.09999999999999998 但我不明白 >0.10.1 我认为 0.1 不能准确地存储为以 2 为底的浮点数,但它会立即打印出来,就像它一直是 0.1 一样.是什么赋予了?解释器在打印之前是否进行了一些舍入? 至少有 2 个版本的 IEEE 754 对我没有帮助:19 ..
发布时间:2022-01-09 10:56:03 前端开发

管理 C++ 单精度和双精度混合计算的规则是什么?

例如,这些变量: 结果(双)一个(双)b(浮点数)c(浮点数)d(双) 一个简单的计算: 结果 = a * (b + c) * d 类型转换的方式和时间以及如何确定每次计算的执行精度? 解决方案 所有操作都是在相同类型的对象上完成的(假设是正常的算术运算). 如果您编写的程序使用不同的类型,那么编译器会自动升级 ONE 参数,使它们都相同. 在这种情况下,浮点数将升级为 ..
发布时间:2022-01-09 10:55:49 C/C++开发

C基础知识:双变量不等于双表达式?

我正在使用一个名为 indata 的双精度数组(在堆中,使用 malloc 分配)和一个名为 sum 的本地双精度. 我写了两个不同的函数来比较indata中的值,得到不同的结果.最终,我确定差异是由于一个函数在条件测试中使用了表达式,而另一个函数在同一条件测试中使用了局部变量.我希望这些是等价的. 我的函数 A 使用: if (indata[i]+indata[j] > max) ..
发布时间:2022-01-09 10:55:40 其他开发

pow() 强制转换为整数,意外结果

我在 C 编程语言中为 pow() 函数使用整数转换时遇到了一些问题.我使用的编译器是 Windows 平台的 Tiny C Compiler(tcc 版本 0.9.24).执行以下代码时,输​​出意外结果100, 99: #include #include 诠释主要(无效){printf("%d, ", (int) pow(10, 2));printf("%d ..
发布时间:2022-01-09 10:55:19 其他开发

SQL Server Management Studio 中浮点类型的全精度输出

我的值 1555.4899999999998 以默认精度 (53) 存储在 float 列中.当我执行一个简单的 select 时,SSMS 会舍入输出而不是使用所有可用的精度打印它.它最近给我造成了一些问题,因为打印的值不能作为 float 文字来匹配实际存储的值. 例如(请注意,这两个数字在默认的 float 中都有精确的表示), 声明@f1 float;声明@f2 浮动;设置@f1 ..
发布时间:2022-01-09 10:55:09 数据库

为什么不是“0f"?在 C++ 中被视为浮点文字?

为什么 0f 在 C++ 中不被视为浮点字面量? #include 使用命名空间标准;诠释主要(){cout 编译上面给了我 C2509(语法错误:'数字后缀错误') 使用 VS2008. 解决方案 如果这个设计决定有明确说明的原因,它会在 C99“基本原理"文档中(C++ 从 C 中逐字复制所有这些东西,没有重新考虑它).但是没有.这就是关于“f"后 ..
发布时间:2022-01-09 10:55:03 C/C++开发

IEEE double 使得 sqrt(x*x) ≠ x

在计算x*x 不会上溢或下溢到 Inf、0 或非正规数? 假设 sqrt 返回最接近的可表示结果,x*x 也是如此(两者都是 IEEE 标准规定的,“平方根运算计算为如果以无限精度计算,然后四舍五入为两个最接近的指定精度的浮点数之一,这些浮点数围绕无限精确的结果"). 假设如果存在这样的双打,那么可能有接近1的例子,我写了一个程序来找到这些反例,它没有找到1.0和之间的任何反例1.00 ..
发布时间:2022-01-09 10:54:55 其他开发

如何使浮点计算具有确定性?

浮点计算在处理器上既不关联也不分布.所以, (a + b) + c 不等于 a + (b + c) and a * (b + c) 不等于 a * b + a * c 是否有任何方法可以执行不会给出不同结果的确定性浮点计算.当然,这在单处理器上是确定性的,但在多线程程序中,如果线程相加,例如,它就不是确定性的,因为线程可能存在不同的交错. 所以我的问题是,如何在多线程程序中 ..
发布时间:2022-01-09 10:54:45 其他开发

sin、cos、tan 和舍入误差

我正在使用 C/C++ 进行一些三角函数计算,但遇到了舍入错误的问题.例如,在我的 Linux 系统上: #include #include int main(int argc, char *argv[]) {printf("%e\n", sin(M_PI));返回0;} 这个程序给出以下输出: 1.224647e-16 当正确答案当然是 0 时. ..
发布时间:2022-01-09 10:54:38 其他开发