English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
대단모드:데이터의 고바이트는 메모리의 저주소에 저장되고, 데이터의 저바이트는 메모리의 고주소에 저장되며, 이러한 저장모드는 데이터를 문자열 순서로 처리하는 것과 유사합니다: 주소는 작은 숫자에서 큰 숫자로 증가하고, 데이터는 고비트에서 저비트로 배치됩니다. 이는 우리의 읽기 습관과 일치합니다.
소단모드:데이터의 고바이트는 메모리의 고주소에 저장되고, 데이터의 저바이트는 메모리의 저주소에 저장되며, 이러한 저장모드는 주소의 높낮이와 데이터 비트 권을 효과적으로 결합시킵니다. 고주소 부분의 권치는 높고, 저주소 부분의 권치는 낮습니다.
예를 들어 C 언어에서 int 타입의 변수 x의 주소는 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 ('메모리 내 데이터를 16진수로 표시:') print (map(hex,a)) # byteswap() 함수는 True를 전달하여 원지에서 스왑됩니다. print ('byteswap() 함수 호출:') print (a.byteswap(True)) print ('16진 형식:') print (map(hex,a)) # byte를 스왑할 수 있습니다.
귀하의 배열은: [ 1 256 8755] 메모리 내 데이터를 16진수로 표시: <map object at 0x104acb400> byteswap() 함수 호출: [ 256 1 13090] 16진 형식: <map object at 0x104acb3c8>