Что такое fixed-size arrays of doubles в контексте numpy?

Встретил фразу With numpy.array, you can create fixed-size arrays of doubles.
Что значит fixed-size array of doubles в контексте numpy?


Ответы (2 шт):

Автор решения: Stanislav Volodarskiy

"fixed-size arrays of doubles" переводится на русский язык буквально как
"массивы фиксированного размера из вещественных чисел".

"double" - основной тип для вычислений с вещественными или дробными величинами.

Странное название имеет исторические корни, и это история языка C. Изначально основным типом для вычислений в C был "float" – "число с плавающей запятой одинарной точности". Он занимает 32 бита. Тип "double" означает "число с плавающей запятой двойной точности". Он занимает 64 бита и примерно в два раза точнее чем "float". С удешевлением процессоров и памяти "double" стал использоваться чаще. И теперь мы работаем с "двойными" числами там, где раньше работали с "плавающими".

Авторы Питона запутали терминологию ещё больше. В Питоне тип "вещественное число одинарной точности" не доступен непосредственно, все вычисления делаются в двойной точности, которая обозначается типом float. Когда питонист говорит float он имеет в виду double.

А в NumPy доступны оба типа: numpy.float32 или numpy.single для одинарной точности. И numpy.double или numpy.float64 для двойной.

→ Ссылка
Автор решения: u111

double - это Число двойной точности. То есть дробное число, занимающее 8 байт, причем 1 бит обозначает знак, следующие 11 битов - порядок числа, а остальные 52 бита - мантиссу.

array - массив. Массив состоит из какого-то количества элементов, и к каждому из них можно обратиться по индексу.

fixed-size array - массив, у которого количество элементов не может изменяться (элементы нельзя добавлять или удалять).

fixed-size array of doubles - Массив, все элементы которого - числа с плавающей запятой двойной точности, к каждому из которых можно обратиться по индексу, и количество которых фиксированно.

Пример на C++:

#include <iostream>
using namespace std;
int main(){
    double arrayOfDoubles[100] = {0}; // Создание массива

    cout << arrayOfDoubles[0]; // Получение первого элемента
    cin >> arrayOfDoubles[0]; // Изменение первого элемента
}
→ Ссылка