在C中存储一个长小数

时间:2016-04-04 00:40:54

标签: c variables

我正在尝试解决物理问题,需要存储一个大约5 * 10 -11 的值; 在尝试漂浮,长双和其他几个没有看到足够长。是否有允许我这样做的数据类型? 感谢

long double I = 0;
I = 0.01902*pow(0.00318,3)/12;
printf("%Lf\n",I);

输出为0.000000

1 个答案:

答案 0 :(得分:5)

var config = {
    blackPlayer: "Player 1",
    redPlayer: "Player 2",
    startingPlayer: "blackPlayer",
};

var currentPlayer = config.startingPlayer;

// Function to change player

function changePlayer() {
    if (currentPlayer === 'blackPlayer') {
        currentPlayer = 'redPlayer';
    } else {
        currentPlayer = 'blackPlayer';
    };
};

目前,long double I = 0; I = 0.01902*pow(0.00318,3)/12; 的值约为I。然后...

5.096953e-11

printf("%Lf\n", I); 来电中唯一的格式说明符为printf()。这表明参数是%Lflong double),并且应该打印为浮点数(L)。最后,由于未明确给出精度(在句点之后打印的位数),因此假设为f。这意味着在此期间之后将打印最多6位数字。

有几种方法可以解决这个问题。其中两个是......

6

这会将精度设置为printf(".15Lf\n", I); 。因此,在此期间后将打印15位数字。和...

15

这将以科学记数法打印数字,即printf("%Le\n", I); 。如果需要,它也可以配置为打印更多数字。