J'étais curieux quand j'étudiais Numpy. Par exemple, créez un tableau de Numpy comme indiqué ci-dessous et vérifiez le type de données avec "dtype". Ensuite, "int32" est renvoyé comme suit.
Je me demandais ici.
"Pourquoi la valeur par défaut est int32 (32 bits)? </ Police>
Au début, je me suis demandé si cela dépendait du nombre de bits dans le système d'exploitation. Cependant, mon environnement est 64 bits comme suit. Cela ne dépend pas du nombre de bits dans l'environnement du système d'exploitation.
Ensuite, je me suis demandé si cela dépendait du nombre de bits dans l'environnement Python. Vérifiez le nombre de bits dans l'environnement Python à l'aide de maxsize du module sys.
32bit : 2147483647 64bit : 9223372036854775807
Comme le résultat est "9223372036854775807" comme ci-dessus, l'environnement Python est "64 bits". Cela ne dépend pas du nombre de bits dans l'environnement Python.
"Pourquoi la valeur par défaut est int32 (32 bits)? </ Police>
Pour comprendre la cause, je devais me souvenir des hypothèses de Numpy.
"L'intérieur de NumPy est implémenté par le langage C (et Fortran), donc il fonctionne très vite."
Numpy est implémenté en C et np.int_ est défini en C long.
Référence: "Type de données Numpy"
Selon Microsoft, le type long par défaut est de 4 octets (4 * 8 = 32 bits). Par conséquent, sous Windows, quel que soit le nombre de bits de système d'exploitation, python et numpy. Il semble que np.int_ soit int32 par défaut.
Référence: "C language basic type size"
La conclusion était "Spécification de type long en langage C" </ font>.
Recommended Posts