原文:详解C语言的htons和htonl函数、大尾端、小尾端

在Linux和Windows网络编程时需要用到htons和htonl函数,用来将主机字节顺序转换为网络字节顺序。 在Intel机器下,执行以下程序 intmain printf d n ,htons return 得到的结果是 ,初一看感觉很怪。 解释如下,数字 的 进制表示为 x ,数字 的 进制表示为 x 。 由于Intel机器是小尾端,存储数字 时实际顺序为 ,存储 时实际顺序为 。因此在发 ...

2016-08-20 15:11 0 2168 推荐指数:

查看详情

详解C语言htons函数

昨天和同事讨论了一下这个函数,在网络上搜了一下,答案都是函数的基本概念,为什么是大端模式(big-endian),而没有解释为什么使用大端模式(big-endian)。首先说明一下概念 uint16_t htons(uint16_t hostshort);  htons的功能:将一个无符号短整型 ...

Tue Mar 26 21:59:00 CST 2013 0 6994
大端与端,大尾与尾,高尾端与低尾端,主机字节序与网络字节序

概念剖析 一时记忆与理解大端、端的概念很容易,但时间一长,对于相似的概念人类的记忆向来是模糊的,甚至是换位的。所以除非你的记忆非常牢靠,否则借助大端和端这样的名字,你很难将概念与内容联系紧密。 也有文章提到用大尾与尾的概念,个人觉得这个概念还是没有解决存储概念中的基本问题,大与 ...

Sat Aug 20 23:46:00 CST 2016 0 1499
C++基础--htons(),htonl(),ntohs(),ntohl()

将多字节整数类型的数据,从主机的字节顺序转化为网络字节顺序原型:#include <netinet/in.h> uint32_t htonl(uint32_t hostlong);uint16_t htons(uint16_t hostshort);uint32_t ...

Mon Jul 02 01:35:00 CST 2012 0 9780
ntohs, ntohl, htons,htonl的比较和详解

ntohs =net to host short int 16位htons=host to net short int 16位ntohl =net to host long int 32位htonl=host to net long int 32位 网络字节顺序NBO(Network Byte ...

Tue Aug 09 02:23:00 CST 2016 0 4648
高低字节序转换(htonl、ntohl、htons、ntohs函数

Part 1: htons函数具体解释 在Linux和Windows网络编程时需要用到htonshtonl函数,用来将主机字节顺序转换为网络字节顺序。 在Intel机器下,执行以下程序 int main()...{ printf("%d /n",htons(16 ...

Thu Jul 23 23:58:00 CST 2015 0 4346
htonl(),htons(),ntohl(),ntons()--大小端模式转换函数

不同机器内部对变量的字节存储顺序不同,有的采用大端模式(big-endian),有的采用端模式(little-endian)。大端模式是指高字节数据存放在低地址处,低字节数据放在高地址处。端模式是指低字节数据存放在低地址处,高字节数据放在高地址处。在网络上传输数据时,由于数据传输的两端可能对 ...

Thu Apr 25 02:45:00 CST 2013 0 11073
setlocale()函数详解——C语言

setlocale函数 函数原型:char* setlocale (int category, const char* locale); setlocale位于头文件,setlocale() 函数既可以用来对当前程序进行地域设置(本地设置、区域设置),也可以用来获取当前程序的地域设置信息,使用 ...

Sat Apr 13 03:35:00 CST 2019 1 9286
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM