问题标签 [math.h]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1830 浏览

c++ - fmod 返回不一致的值

在尝试使用一些 perlin 噪声函数时遇到了一个奇怪的错误。突然间,我在所有通话中都得到了一个off value。将其追溯到 fmod() 中不一致的返回值。

我希望得到以下输出。

但我没有。我明白了。

更奇怪的是,如果我多次调用 cout 行,错误会在以后的运行中消失。

将值硬编码到函数中(将所有 'y' 替换为 '512')会产生正确的结果(总是返回 0)。

有没有人见过这样的结果?

0 投票
4 回答
76049 浏览

c++ - 字符串常量之前的预期 unqualified-id

我目前正在编写一个 C++ 应用程序,它结合 math.h 实现振荡器。我拥有的代码应该适用于应用程序(尝试编译目标文件),但我遇到了一个编译器错误,很可能与语法/等有关;我认为这与命名空间有关。错误:

终端输出:

振荡器.cpp

振荡器.h

我已经看到其他提到使用 g++ -Wall -g 的建议,但我不确定这是问题所在,并且这里还有其他事情发生。

任何帮助将非常感激!谢谢!!

0 投票
1 回答
4316 浏览

qt - Qt Creator 和 math.h 不起作用

我已经用 Qt Creator 启动了一个 Qt 项目,我想使用一些数学函数。我已经包含了 math.h。但是当我想使用一个函数时,我得到一个错误,该函数没有在这个范围内声明。我也尝试过 mathc,但后来我在 cmath 中遇到了 20 多个错误。我尝试了全新的 Ubuntu 12 安装和 Qt Creator 的最新版本以及 Windows 7。两个系统都产生相同的错误。我做错了什么?

0 投票
1 回答
944 浏览

c - C 的 pow() 中参数的精度

这是一个C代码;

输出是:

从输出中我可以推断出在 pow(x,y) 中 y 被四舍五入为 6 位,因为它的签名是 pow(double x, double y) 所以 0.301029996 变为 0.301030 这就是为什么自动的值是 2.000000000 否则它将是和手册一样。

我的问题:

  1. 我的推断正确吗?
  2. 如果第一个问题的答案是正确的,那么我们如何绕过这个四舍五入来获得更准确的结果?
0 投票
0 回答
369 浏览

c++ - math.h 中的 sin(x) 或 cos(x) 是如何实现的?

可能重复:
C 如何计算 sin() 和其他数学函数?

我很好奇如何sin以及cos在低级别实施。

我只是看了一下 math.h 并找不到sinand的声明cos。但既然这对我来说是一个死胡同,我转向你,所以。

我想知道计算正弦需要多少次运算以及使用哪些技巧来加速。它们在不同硬件上的实现方式是否不同,是否有处理器支持将其作为本机指令?例如,它们与添加相比有多快?

谢谢!

0 投票
1 回答
1146 浏览

c++ - float fmodf(float_x, float_y) 函数,math.h,c++

你好,我希望有人能帮我解决这个问题。

我正在使用 math.h 中的 float fmodf(float_x, float_y) 函数。

我可以用它正确编码,但我只是想知道有没有人知道确切代码的功能,所以我可以更好地理解它

0 投票
2 回答
561 浏览

c - 对内置函数“pow”的 ac 的未定义引用

可能重复:
未定义 pow()

对于上面的以下代码,我收到此错误,我不知道为什么要包含math.h,但我仍然收到此错误

/tmp/cck07bLe.o: In function 'octal2decimal':
data-converter.c:(.text+0x35f): undefined reference to 'pow'
collect2: ld returned 1 exit status

这是什么意思?我该如何解决?

0 投票
2 回答
12050 浏览

c - 为什么 math.h 定义 pi、pi/2、2/pi 而不是 2*pi?

这是一个非常简单的问题:为什么pi、pi/2、pi/4、1/pi 和 2/pi有预定义的常量,而 2*pi 没有?背后有更深层次的原因吗?

这个问题与整个pi vs tau 辩论无关。我想知道是否有实现某些常量而不是其他常量的技术原因。我能想到两种可能:

  1. 避免舍入错误。
  2. 避免可能更昂贵的运行时划分。
0 投票
2 回答
2226 浏览

c++ - 大量使用 pow(x,y)

我正在输入一个数字 n,其中 1<=n<=10^5。我需要一个长度为 n 的数字。所以我使用 pow(10,n-1) 但是当 n=100000 时它不起作用。错误是什么?

编辑:它的 codeforces div2 第 152 轮问题 B。

Chilly Willy 想要找到长度为 n 的最小数,这样它就可以同时被所有 Willy 已经知道的数(2、3、5 和 7)整除。帮助他。

数字的长度是十进制表示中不带前导零的位数。

输入 单个输入行包含单个整数 n (1 ≤ n ≤ 10^5)。

我的代码可以工作到 n=19。它在预测试 9 中失败。

0 投票
4 回答
2766 浏览

c++ - 将 Sqrt(x) 计算为 x * InvSqrt(x) 在 Doom 3 BFG 代码中是否有意义?

我浏览了最近发布的Doom 3 BFG 源代码,当我发现一些似乎没有任何意义的东西时。Doom 3 在idMath类中封装了数学函数。有些函数只是从 转发到相应的函数math.h,但有些是重新实现(例如idMath::exp16()),我认为它们比它们的对应函数具有更高的性能math.h(可能以牺牲精度为代价)。

然而,令我困惑的是他们实现该float idMath::Sqrt(float x)功能的方式:

这似乎执行了两个不必要的浮点运算:首先是除法,然后是乘法。

有趣的是,最初的 Doom 3 源代码也以这种方式实现了平方根函数,但反平方根使用的是快速反平方根算法

您认为在计算Sqrt(x)中是否有任何优势,就x * InvSqrt(x)好像在InvSqrt(x)内部只调用math.h's fsqrt(1.f/x)?我是否可能在这里遗漏了一些关于非规范化浮点数的重要信息,或者这只是 id 软件方面的草率?