htons&ntohs

以short类型数字512为例

  • 表达式:512=2^9=2*16^2
  • 二进制:0000 0010 0000 0000
  • 十六进制:0x0200

在小端字节序处理器中:

Little-endian

而TCP/IP协议栈使用大端字节序。应用程序交换格式化数据时,字节序问题就会出现。对于TCP/IP,地址用网络字节序来表示,所以应用程序有时需要在处理器的字节序与网络字节序之间转换它们。

htons转换后:

Big-endian

附:测试平台的字节序

操作系统

处理器架构

字节序

FreeBSD 8.0

Intel Pentium

小端

Linux 3.2.0

Intel Core i5

小端

Mac OS X 10.6.8

Intel Core 2 Duo

小端

Solaris 10

Sun SPARC

大端

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏积累沉淀

Java批处理

批处理 JDBC对批处理的操作,首先简单说一下JDBC操作sql语句的简单机制。 JDBC执行数据库操作语句,首先需要将sql语句打包成为网络字...

49050
来自专栏陈纪庚

SPA初试-1

即每一个页面对应着一个状态,一个状态有一个状态名,还有一个模板/模板url,这样我们就可以将不同页面的内容写到不同的html里,然后通过templateUrl将...

10610
来自专栏专业duilib使用+业余界面开发

CreateProcess 创建带命令行参数的进程时,报错或者提示内存位置无效的可能的一个原因

26550
来自专栏雨尘分享

2018 - iOS 面试题汇总一般面试题BAT面试题

4.8K30
来自专栏kwcode

找到多个与名为“Home”的控制器匹配的类型的解决方案

 主地址:http://localhost:3412/Home/Index 区域地址:http://localhost:3412/T200/Home/Index...

510110
来自专栏JadePeng的技术博客

Angular快速学习笔记(4) -- Observable与RxJS

90720
来自专栏DOTNET

ASP.NET MVC编程——控制器

每一个请求都会经过控制器处理,控制器中的每个方法被称为控制器操作,它处理具体的请求。 1操作输入参数 控制器的操作的输入参数可以是内置类型也可以是自定义类型。 ...

28490
来自专栏MasiMaro 的技术博文

windows 多任务与进程

多任务的本质就是并行计算,它能够利用至少2处理器相互协调,同时计算同一个任务的不同部分,从而提高求解速度,或者求解单机无法求解的大规模问题。以前的分布式计算正是...

12840
来自专栏大内老A

ASP.NET MVC的Razor引擎:IoC在View激活过程中的应用

在《ASP.NET MVC的Razor引擎:RazorView》介绍BuildManagerCompiledView的时候,我们谈到默认使用的ViewPageA...

21490
来自专栏Golang语言社区

多线程编程10个例子--2

// TODO: Add extra initialization here m_ctrlProgress.SetRange(0,99); m_nMilliSe...

84570

扫码关注云+社区

领取腾讯云代金券