NumPy 教程

NumPy 笔记

NumPy字节交换


我们已经知道,存储在计算机内存中的数据取决于 CPU 使用的架构。它可以是小端(最小有效位存储在最小地址中)或大端(最小有效字节存储在最大地址中)。

numpy.ndarray.byteswap()

numpy.ndarray.byteswap()函数在两个表示:大端和小端之间切换。

import numpy as np 
a = np.array([1,  256,  8755], dtype = np.int16)  
print  '我们的数组是:'  
print a 
print  '以十六进制表示内存中的数据:'  
print map(hex,a)  
# byteswap() 函数通过传入 true 来原地交换 
print  '调用 byteswap() 函数:'  
print a.byteswap(True)  
print  '十六进制形式:'  
print map(hex,a)  
# 我们可以看到字节已经交换了

输出如下:

我们的数组是:
[1 256 8755]

以十六进制表示内存中的数据:
['0x1', '0x100', '0x2233']

调用 byteswap() 函数:
[256 1 13090]

十六进制形式:
['0x100', '0x1', '0x3322']