码迷,mamicode.com
首页 > 系统相关 > 详细

【Linux 网络编程】字节序和地址装换

时间:2017-03-02 23:43:31      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:32位   etl   地址转换函数   ohs   arm   进制   小端   转换函数   add   

(3)字节序
    <1>大端字节序
        最高的有效位存储于最低内存地址处,最低有效位存储于最高内存地址处。
    <2>小端字节序
        最高的有效位存储于最高内存地址处,最低有效位存储于最低内存地址处。
    保存0x12345678
       ----------------->内存地址增长的方向
        12 34 56 78 大端字节序
        78 56 34 12 小端字节序
    <3>主机字节序
        不同的主机有不同的字节序,如x86是小端字节序,ARM为可配置字节序
    <4>网络字节序
        网络字节序规定为大端字节序
    <5>字节序转换函数
        uint32_t htonl(uint32_t hostlong);
        uint16_t htons(uint16_t hostshort);
        uint32_t ntohl(uint32_t netlong);
        uint16_t ntohs(uint32_t netlong);
<6>地址转换函数
        #incldue <netinet/in.h>
        #include <arpa/inet.h>

        int inet_aton(const char *pc, struct in_addr *inp); //把点分十进制转化为地址结构体
        in_addr_t inet_addr(const char *pc); //把点分十进制转化为32位的整数
        char *inet_ntoa(struct in_addr in); //将一个地址结构转换为点分十进制的IP地址

【Linux 网络编程】字节序和地址装换

标签:32位   etl   地址转换函数   ohs   arm   进制   小端   转换函数   add   

原文地址:http://www.cnblogs.com/jamesharden/p/6492971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!