我试图以给定的精度打印数字的平方根。
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++
我们知道,当使用连续的内存块时,我们可以轻松地获得一个迭代器(在此处&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, …