Docs: Add explanation about little/big endian (#109841)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
This commit is contained in:
Simon A. Eugster 2024-02-19 08:50:09 +01:00 committed by GitHub
parent 53d5e67804
commit 177b9cb52e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 15 additions and 0 deletions

View File

@ -160,6 +160,21 @@ following table:
If the first character is not one of these, ``'@'`` is assumed.
.. note::
The number 1023 (``0x3ff`` in hexadecimal) has the following byte representations:
* ``03 ff`` in big-endian (``>``)
* ``ff 03`` in little-endian (``<``)
Python example:
>>> import struct
>>> struct.pack('>h', 1023)
b'\x03\xff'
>>> struct.pack('<h', 1023)
b'\xff\x03'
Native byte order is big-endian or little-endian, depending on the
host system. For example, Intel x86, AMD64 (x86-64), and Apple M1 are
little-endian; IBM z and many legacy architectures are big-endian.