English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Большой конец:Этот способ хранения данных означает, что высокие байты данных хранятся в низких адресах памяти, а низкие байты данных хранятся в высоких адресах памяти. Such a storage mode is somewhat similar to treating data as a string in order: the address increases from small to large, and data is placed from high to low; this is consistent with our reading habits.
Малый конец:Этот способ хранения данных означает, что высокие байты данных хранятся в высоких адресах памяти, а низкие байты данных хранятся в низких адресах памяти. Such a storage mode effectively combines the address and bit weight of data, with higher weight for the high address part and lower weight for the low address part.
Например, в языке программирования C переменная типа int с адресом 0x100, так что выражение &x имеет значение 0x100. И четыре байта переменной x будут храниться в памяти по адресам 0x100, 0x101, 0x102, 0x103.
Функция numpy.ndarray.byteswap() производит конверсию байтов大小的 каждого элемента ndarray.
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] Представление данных в памяти в шестнадцатеричном формате: <map object at 0x104acb400> Вызов функции byteswap(): [ 256 1 13090] Формат шестнадцатеричной системы: <map object at 0x104acb3c8>