Что такое fixed-size arrays of doubles в контексте numpy?
Встретил фразу With numpy.array, you can create fixed-size arrays of doubles.
Что значит fixed-size array of doubles
в контексте numpy
?
Ответы (2 шт):
"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
для двойной.
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]; // Изменение первого элемента
}