相关疑难解决方法(0)

'浮动'与'双'精度

代码

float x  = 3.141592653589793238;
double z = 3.141592653589793238;
printf("x=%f\n", x);
printf("z=%f\n", z);
printf("x=%20.18f\n", x);
printf("z=%20.18f\n", z);
Run Code Online (Sandbox Code Playgroud)

会给你输出

x=3.141593
z=3.141593
x=3.141592741012573242
z=3.141592653589793116
Run Code Online (Sandbox Code Playgroud)

输出的第三行741012573242是垃圾,第四行116是垃圾.双打总是有16个有效数字,而浮点数总是有7个有效数字吗?为什么双打没有14位重要人物?

c floating-point

145
推荐指数
5
解决办法
46万
查看次数

C++双精度和四舍五入

我有以下问题:

double a = 6.005; double b = 5.995;

例如,我想在点之后设置2位数的精度

double c = a+b;// I would like to get 11.99 not 12.00.

我怎样才能做到这一点?

c++ double rounding double-precision

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

标签 统计

c ×1

c++ ×1

double ×1

double-precision ×1

floating-point ×1

rounding ×1