htonl函数的功能_huber函数

htonl函数的功能_huber函数ntohl()、htonl()、ntohs()、htons()这几个函数的作用是进行字节顺序的转换,在理解这几个函数之前,我们先了解一下数据的存储

htonl函数的功能_huber函数"

ntohl()、htonl()、ntohs()、htons()这几个函数的作用是进行字节顺序的转换,在理解这几个函数之前,我们先了解一下数据的存储。

一、大端存储和小端存储
  1、大端存储:在计算机中,数据是按照字节存储的,多于一个字节的数据,把高字节部分存储在低地址,把低字节部分存储在高地址,这种方式称为大端存储。
       例:0x12345678这个数据,我们一般认为左边是高字节部分,右边是低字节部分,那么在采用大端存储的计算机内部的存储则为下面这样
               低地址:     0x12(高字节)
               >>>>>:     0x34
               >>>>>:     0x56
               高地址:     0x78(低字节)
 即一个整型数据的首地址=高位部分(首地址=低地址)
        典型使用大端存储的厂商是:Motorola
  2、小端存储:多于一个字节的数据,把高字节部分存储在高地址,把低字节部分存放在低地址。
      例:0x12345678这个数据,我们一般认为左边是高字节部分,右边是低字节部分,那么在采用小端存储的计算机内部的存储则为如何下这样
               低地址:     0x78(低字节)
               >>>>>:     0x56
               >>>>>:     0x34
               高地址:     0x12(高字节)
 即首地址部分=低位部分(首地址=低地址)
        典型使用小端存储的厂商是:intel
二、网络传输模式

     网络传输通讯过程中,采用大端在前的方式进行数据发送,对于采用小端模式进行数据存储的系统,要把多字节的数据通过网络传输出去,则需要将数据的字节序进行转换,再进行发送。接收的过程亦然。

三、ntohl()、htonl()、ntohs()、htons()函数

      在这几个函数中n代表net网络,h代表host主机,l代表long长整型,s代表short短整型。这几个函数的作用分别为:

ntohl():将一个无符号长整形数从网络字节顺序转换为主机字节顺序

htonl():将一个无符号长整形数从主机字节顺序转换为网络字节顺序

ntohs():将一个无符号短整形数从网络字节顺序转换为主机字节顺序

htons():将一个无符号短整形数从主机字节顺序转换为网络字节顺序

如下代码

	uint32 a=0x12345678;
	uint32 b;
	b=htonl(a);

运行的结果为b=0x78563412;

今天的文章htonl函数的功能_huber函数分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/77146.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注