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

(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地址

转载于:https://www.cnblogs.com/jamesharden/p/6492971.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值