📜  NumPy-字节交换

📅  最后修改于: 2020-11-08 07:40:36             🧑  作者: Mango


我们已经看到,存储在计算机内存中的数据取决于CPU使用的体系结构。它可以是低位(最低有效位存储在最小地址中)或高位(最高有效字节存储在最小地址中)。

numpy.ndarray.byteswap()

numpy.ndarray.byteswap()函数在两种表示形式之间切换:bigendian和little-endian。

import numpy as np 
a = np.array([1, 256, 8755], dtype = np.int16) 

print 'Our array is:' 
print a  

print 'Representation of data in memory in hexadecimal form:'  
print map(hex,a)  
# byteswap() function swaps in place by passing True parameter 

print 'Applying byteswap() function:' 
print a.byteswap(True) 

print 'In hexadecimal form:' 
print map(hex,a) 
# We can see the bytes being swapped

它将产生以下输出-

Our array is:
[1 256 8755]

Representation of data in memory in hexadecimal form:
['0x1', '0x100', '0x2233']

Applying byteswap() function:
[256 1 13090]

In hexadecimal form:
['0x100', '0x1', '0x3322']