c-socket-programming:byteorder-endianness
مفاهیم Byte Order و Endianness
- در هر عدد، به انتهای کم ارزش little end و به انتهای پر ارزش big end گفته می شود. مثلا در 1234 انتهای کم ارزش 34 و انتهای پر ارزش 12 است.
- اگر برای ذخیره اعداد در حافظه ابتدا انتهای پر ارزش ذخیره شود، به این روش Big-Endian گفته میشود.
- اگر برای ذخیره اعداد در حافظه ابتدا انتهای کم ارزش ذخیره شود، به این روش Little-Endian گفته میشود.
- در شبکه، برای ارسال اعداد ابتدا انتهای پر ارزش ارسال میشود (Big-Endian) که به آن Network-Byte-Order نیز گفته میشود.
- در کامپیوتر ها ممکن است از روش Little-Endian یا Big-Endian برای ذخیره اعداد استفاده شود. برای راحتی کار به آن Host-Byte-Order می گویند.
- کامپیوتر های بر پایه معماری Intel همهگی Little-Endian هستند.
- از توابع زیر برای تبدیل Host-Byte-Order به Network-Byte-Order و بالعکس استفاده می شود. در نام این توابع n به معنی network و h به معنی host و s به معنی short و l به معنی long است.
htons() host to network short htonl() host to network long ntohs() network to host short ntohl() network to host long
c-socket-programming/byteorder-endianness.txt · آخرین ویرایش: 2024/06/18 22:45 توسط pejman

