小编Shr*_*ram的帖子

printf 如何在小数点后打印 53 位数字?

我试图以给定的精度打印数字的平方根。

int N;
int precision;
cin>>N>>precision;
printf("%.*lf",precision,std::sqrt(N));
Run Code Online (Sandbox Code Playgroud)

这是 clang++ 打印出来的:

%./a.out
2 100
1.4142135623730951454746218587388284504413604736328125000000000000000000000000000000000000000000000000
Run Code Online (Sandbox Code Playgroud)

它能够打印超过 50 位的精度?我以为双打只能处理 17 位数字?

我在苹果硅 m1 上运行 clang++

c++ precision

3
推荐指数
1
解决办法
72
查看次数

我可以在堆分配的原始数组上使用std :: sort吗?

我们知道,当使用连续的内存块时,我们可以轻松地获得一个迭代器(在此处&arra[0]arra),并将迭代器传递给std :: sort。

例如:

int arra[100];
    for (int i = 0; i < 100; i++) {
        arra[i] = rand() % 32000;
    }
    for (int i = 0; i < len; i++)std::cout << arra[i]<<" ";
    std::sort(arra,arra+100);
Run Code Online (Sandbox Code Playgroud)

现在,如果我有一个堆分配的数组,请像下面这样说arr

int len;
    len = 100;
    int* arr = new int[len];
    for (int i = 0; i < len; i++) {
        arr[i] = rand() % 32000;
    }
Run Code Online (Sandbox Code Playgroud)

I don't know whether I can get an iterator for this array, …

c++ sorting memory-management heap-memory dynamic-arrays

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