math.h相关内容

为什么必须在 C 中链接数学库?

如果我在 C 程序中包含 或 我不需要在编译时链接这些但我这样做必须链接到 ,使用 -lm 和 gcc,例如: gcc test.c -o test -lm 这是什么原因?为什么我必须显式链接数学库而不是其他库? 解决方案 stdlib.h 和 stdio.h 中的函数在 libc.so 中有实现(或 libc.a 用于静态链接),默认情况下链接到您的可执行文件( ..
发布时间:2021-12-01 23:52:34 其他开发

在 Visual Studio 2005 的 math.h 中找不到错误函数 erf(x)

似乎 cmathVisual Studio 2005 没有 erf(x).我正在将 NIST 统计测试套件用于随机和伪随机数生成器.在 cephes.c 的方法 double cephes_normal(double x) 中,它使用了一个 C99 数学函数 erf(x),我认为 Visual Studio 2005 不支持该函数. 我怎样才能克服这个问题?我在这里看到了一个 C++ 解决方 ..
发布时间:2021-09-18 19:46:52 其他开发

-lm在命令末尾不起作用

我目前正在编写一个用于单评估的程序,并且他们有一条设定好的行来编译它,因此,如果该程序不能正常工作,则将不被接受.他们命令使用的是 gcc -Wall -ansi -lm program.c -o program.out 我的程序不会那样编译,并且会给我一个未定义的引用错误(使用math.h库引用我的log10)如果我使用: gcc -Wall -ansi program.c -o p ..
发布时间:2021-05-09 20:54:30 其他开发

C-简单的数学参数不起作用?

我只是想使用一个相对简单的公式来计算10年的金额.我可以输入所有变量,但是我怀疑amount做错了什么. #include #include int main(){ double amount; /* amount on deposit */ double principal; /* what's the principal */ ..
发布时间:2020-06-30 19:11:52 其他开发

对于Visual Studio,在math.h中超过200个〜SYNTAX ERRORS〜,这没有任何意义

将Visual Studio Express2013用于Windows桌面,并使用"Win32控制台应用程序" C ++项目 (我正在为一个课程做项目.为了开始,我必须导入教练提供的所有项目文件-有很多文件(所有.cpp和.h文件),因此我真的不能在这里复制粘贴任何一个...但是我仍然认为这不是问题所在.) 当我点击“运行调试器"时,我在math.h中遇到了近200个语法错误,尽管Vi ..
发布时间:2020-06-30 19:11:49 其他开发

程序集x86中的Math.h库函数?

我试图将在Linux(fedora 9)下编写的C代码转换为汇编x86代码,但是,我在Math.h函数中遇到问题.该库中的功能(例如ceil,floor,log,log10,pow)在程序集x86中未定义.您能帮我解决这个问题吗? 谢谢. 解决方案 大多数库函数不会用汇编语言定义,至少在直接映射到ADD指令的加法运算符意义上不是这样.如果要以汇编形式重写该库,则必须使用处理器可用的任 ..
发布时间:2020-06-30 19:11:47 其他开发

Turbo C编译器问题,sqrt()函数无法使用变量参数

我搜索了与我的问题类似的问题类似问题.但是我的问题是使用Turbo C编译器v3.0时.我是否需要对math.h文件做一些额外的工作?请帮忙. int main (void){ double result, a; clrscr(); printf("Enter a # for square root.\n"); scanf("%f",&a); prin ..
发布时间:2020-06-30 19:11:44 其他开发

c等价于matlab的sind和cosd函数

因此,我正在处理一些将Matlab代码手动转换为C代码的问题.我只是想知道是否有一个C等于我在matlab代码中看到的sind和cosd函数.我猜这返回的是度数的答案,而不是给出弧度结果的c sin和cos函数.我想我可以将结果乘以180/pi,但只是想知道math.h中是否有库函数,所以我没有看到.或者即使gsl库中有执行此操作的文件. 解决方案 由于M_PI的不精确性,对于大参数,H2 ..
发布时间:2020-06-30 19:10:40 其他开发

仅当参数为非负数时才定义sqrt

这样可以编译 #include int main(void) { double i = sqrt(9.0); } 如果将9.0更改为-9.0,则我的编译器(GNU C)给出有关未定义引用'sqrt'的错误. 我期望sqrt函数返回NaN或异常. C库如何仅为非负参数定义sqrt? 解决方案 之所以会发生这种情况,是因为gcc可以在优化过程中使用内 ..
发布时间:2020-06-30 19:10:37 其他开发

C-舍入问题(CS50)

我已经在谷歌上搜索了好几天了,我迷路了.因此,在线进行CS50似乎无法解决这一数字舍入问题.我的程序搞砸了将 2.10 之类的浮点数与 100 之类的整数相乘,它会输出 209.xxxxxxxx 现在,就像我说我已经阅读了许多关于应该使用 ceilf 并包含 的帖子一样,但是我遇到了错误 greedy.c :(.text + 0x74):对'ceilf'的未定义引用 collect2: ..
发布时间:2020-06-30 19:10:33 其他开发

该功能如何工作?

编译下面的程序后,我得到输出"2346",但期望是"2345". #include #include int nr_cif(int a) { int k=0; while(a!=0) { a = a/10; k++; } return k; } void Nr(int &a){ ..
发布时间:2020-06-30 19:10:29 其他开发

erf(x)和math.h

根据此网站,错误函数erf(x)出现了来自math.h.但是实际上是在math.h中查找的,它不存在,而gcc不能编译以下测试程序,而g ++可以: #include #include int main(int argc, char* argv[]) { double x; double erfX; x = 1.0; erfX = er ..
发布时间:2020-06-30 19:09:24 其他开发

为什么a + = b * pow(10,c-i-1)== 99 c ++?

我写了这段代码,第一次循环结果是99.为什么结果99应该是100? #include #include using namespace std; int main () { int skt = 0; int sk[3]; int nsk = 3; sk[0]=1; sk[1]=2; sk[2]=8; for (int i=0; i ..
发布时间:2020-06-30 19:09:21 其他开发

在C中如何计算pow()?

我们的教授说,如果a pow()计算a b ,因为pow()使用自然对数进行计算(a b = e b ln a ),由于未定义负数,因此无法计算.我试过了,只要b是一个整数,它就可以工作. 我已经搜索了math.h和更多文件,但是无法找到该函数的定义方式以及它用于计算的内容.我也尝试过搜索互联网,但没有成功.在堆栈溢出方面也有类似的问题所以问题是pow()在C语言中是如何实际计算的?为什么当 ..
发布时间:2020-06-30 19:09:19 其他开发

用于SSE和AVX的SIMD数学库

我正在寻找SSE和AVX的SIMD数学库(最好是开源的).我的意思是,例如,如果我有一个具有8个浮点值的AVX寄存器v,我希望sin(v)一次返回所有8个值的sin. AMD有一个专有图书馆Lib​​M http://developer.amd.com/tools/cpu-development/libm/具有一些SIMD数学功能,但LibM仅在检测到Intel CPU没有的FMA4时才使用 ..
发布时间:2020-06-30 19:08:15 其他开发

使用pow()函数会在C中引发未定义的引用错误

为什么下面的代码在C语言中起作用: int res = pow(2, 3); printf("%d\n", res); 这其他人没有吗? int a = 2; int b = 3; int res = pow(a, b); printf("%d\n", res); 即使我尝试 double a = 2; double b = 3; double res = pow(a ..
发布时间:2020-06-30 19:07:10 其他开发