相关疑难解决方法(0)

float和double有什么区别?

我已经读过双精度和单精度之间的区别.然而,在大多数情况下,floatdouble,似乎可以用一个可以互换的,即或其他的似乎不影响使用效果.这是真的吗?浮动和双打什么时候可以互换?它们之间有什么区别?

c c++ floating-point precision

384
推荐指数
9
解决办法
95万
查看次数

与float和float文字相比较的奇怪输出

float f = 0.7;
if( f == 0.7 )
    printf("equal");
else
    printf("not equal");
Run Code Online (Sandbox Code Playgroud)

为什么输出not equal

为什么会这样?

c c++ floating-point double-precision

34
推荐指数
3
解决办法
6725
查看次数

什么时候是真的?

对,我想我真的是一个梦想.我有以下代码,我在AIX机器上编译和运行:

AIX 3 5
PowerPC_POWER5 processor type
IBM XL C/C++ for AIX, V10.1
Version: 10.01.0000.0003


#include <stdio.h>
#include <math.h>

#define RADIAN(x) ((x) * acos(0.0) / 90.0)

double nearest_distance(double radius,double lon1, double lat1, double lon2, double lat2){
    double rlat1=RADIAN(lat1);
    double rlat2=RADIAN(lat2);
    double rlon1=lon1;
    double rlon2=lon2;
    double a=0,b=0,c=0;

    a = sin(rlat1)*sin(rlat2)+ cos(rlat1)*cos(rlat2)*cos(rlon2-rlon1);
    printf("%lf\n",a);
    if (a > 1) {
      printf("aaaaaaaaaaaaaaaa\n");
    }
    b = acos(a);
    c = radius * b;

    return radius*(acos(sin(rlat1)*sin(rlat2)+
        cos(rlat1)*cos(rlat2)*cos(rlon2-rlon1)));

}

int main(int argc, char** argv) {
  nearest_distance(6367.47,10,64,10,64);
  return 0;
} …
Run Code Online (Sandbox Code Playgroud)

c aix xlc

2
推荐指数
1
解决办法
975
查看次数

C:使用float和double时出现奇怪的错误

可能重复:
float与float literal的比较中的奇怪输出
float和double变量的比较

我有一个测试用双和浮在C,但我无法解释为什么.

    float x = 3.4F;
    if(x==3.4)
        printf("true\n");
    else printf("false\n");
    double y = 3.4;
    if (y==3.4)
        printf("true\n");
    else printf("false\n");
Run Code Online (Sandbox Code Playgroud)

结果将为False和True.请给我解释一下.

c floating-point

-1
推荐指数
2
解决办法
334
查看次数

标签 统计

c ×4

floating-point ×3

c++ ×2

aix ×1

double-precision ×1

precision ×1

xlc ×1