字节顺序和ndarrays介绍
ndarrays是一个对象,它为内存中的数据提供了python数组接口。
通常,你要使用数组查看的内存与运行python的计算机的字节顺序不同。
例如,我可能正在使用小端CPU的计算机(如Intel Pentium),但是我已经从由大端计算机编写的文件中加载了一些数据。假设我已经从sun(大端)计算机编写的文件中加载了4个字节。我知道这4个字节代表两个16位整数。在大端计算机上,先存储两个字节的整数,然后在存储最高有效字节(MSB),然后存储最低有效字节(LSB)。因此,字节按存储顺序排列:
1.MSB整数1
2.LSB整数1
3.MSB整数2
4.LSB整数2
假设两个整数实际上是1和770,因为770=256*3+2,所以内存中的4个字节将分别包含:0、1、3、2。我从文件中加载的字节将具有以下内容:
我们可能需要使用ndarray来访问这些整数,在这种情况下,我们可以在内存周围创建一个数组,并告诉numpy由两个整数,它们是16位的大端数:
请注意dtype上方的数组>i2,>的意思是大端(<