首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >error: invalid operands to binary expression ("double“and double")是什么意思?

error: invalid operands to binary expression ("double“and double")是什么意思?
EN

Stack Overflow用户
提问于 2014-04-04 00:41:59
回答 1查看 516关注 0票数 0

第55行:我在这里写了"V=(pow(vx,2)+pow(vy,2))^0.5;“

我有一个错误:二进制表达式的操作数无效("double“和”double")。这是什么意思?

请帮帮我!

int main() {

代码语言:javascript
复制
FILE *fp, *fopen();
fp=fopen("Orbit2", "w");

double M,G,y0,vx,vy,x,y,h,t,T,m,V, positionx,positiony,velocityx,velocityy,energy,kinetic,potential;
G=6.67*pow(10,-11);
h=1000;
m=7.345*pow(10,22);
t=0;
M=1.99*pow(10,30);
y=0;
y0=0;
x=1.5*pow(10,11);
vx=0;
vy=22350;
energy=kinetic+potential;

T=t+h;
for (T=0; T<110000; T++)
{

    printf("y=%lf,x=%lf\n", y,x);
    fprintf(fp,"%lf,%lf\n", y,x);

    V=(pow(vx,2)+pow(vy,2))^0.5;

    positionx=x+(h/(double)6.0)*((kx1(vx))+(2*kx2(G,M,h,x,y,vx))+(2*kx3(G,M,h,x,y,vx,vy))+(kx4(G,M,h,x,y,vx,vy)));
    positiony=y+(h/(double)6.0)*((ky1(vy))+(2*ky2(G,M,h,x,y,vy))+(2*ky3(G,M,h,x,y,vx,vy))+(ky4(G,M,h,x,y,vx,vy)));
    velocityx=vx+(h/(double)6.0)*((kvx1(G,M,x,y))+(2*kvx2(G,M,h,x,y,vx,vy))+(2*kvx3(G,M,h,x,y,vx,vy))+(kvx4(G,M,h,x,y,vx,vy)));
    velocityy=vy+(h/(double)6.0)*((kvy1(G,M,x,y))+(2*kvy2(G,M,h,x,y,vx,vy))+(2*kvy3(G,M,h,x,y,vx,vy))+(kvy4(G,M,h,x,y,vx,vy)));

    x=positionx;
    y=positiony;
    vx=velocityx;
    vy=velocityy;

    if ((fabs(positiony-y0)<100) && (fabs(positionx-x)<100))
    {
        break;
    }


}

fclose(fp);
return 0;

}

EN

回答 1

Stack Overflow用户

发布于 2014-04-04 01:47:32

编译器会抱怨您试图将两个双精度数加在一起进行XOR运算,这没有多大意义。更多细节可以在这里找到:How do I use bitwise operators on a "double" on C++?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22843907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档