网络字节序跟主机字节序有什么区别

2023-05-16

网络字节序跟主机字节序有什么区别,这是我16年9月份校招面试腾讯被问到的一个问题,也是Linux服务器开发岗常考的面试题。

字节序分为大端字节序和小端字节序

    大端字节序是指一个整数的高位字节(32-31bit)存储在内存的低地址处,低位字节(0-7bit)存储在内存的高地址处。
    小端字节序是指一个整数的高位字节(32-31bit)存储在内存的高地址处,低位字节(0-7bit)存储在内存的低地址处。

现代PC大多采用小端字节序,所以小端字节序又被称为主机字节序。
大端字节序也称为网络字节序。

即使是同一台机器上的两个进程(比如一个由C语言,另一个由Java编写)通信,也要考虑字节序的问题(JVM采用大端字节序)。

可编写 byteorder.cpp 判断机器字节序

void byteorder()
{
    union
    {
        short value;
        char union_bytes[sizeof(short)];
    }test;
    test.value = 0x0102;

    if (sizeof(short) == 2)
    {
        if (test.union_bytes[0] == 1 && test.union_bytes[1] == 2)
            cout << "big endian" << endl;
        else if (test.union_bytes[0] == 2 && test.union_bytes[1] == 1)
            cout << "little endian" << endl;
        else
            cout << "unknown" << endl;
    }
    else
    {
        cout << "sizeof(short) == " << sizeof(short) << endl;
    }

    return ;
}

该程序在我的ubuntu跟win10下执行结果都是 little endian
---------------------
作者:涛爸
来源:CSDN
原文:https://blog.csdn.net/Tao_Ba/article/details/80713192
版权声明:本文为博主原创文章,转载请附上博文链接!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络字节序跟主机字节序有什么区别 的相关文章

随机推荐

  • 推荐几款好用的数据库管理工具

    本文主要介绍几款常用的数据库管理软件 xff08 客户端 xff09 xff0c 包括开源 免费的 商用收费的 xff0c 其中有一些是专用于 MySQL 数据库的 xff0c 例如 MySQL Workbench phpMyAdmin x
  • Ubuntu 22.04(Jammy)安装 ROS2(Humble)

    本文介绍如何在 Ubuntu 22 04 xff08 Jammy xff09 上安装 ROS 2 软件包 xff0c ROS 2 的版本是当前最新的 Humble Hawksbill 本教程适用于 amd64 和 arm64 平台 准备工作
  • 从落地效果看,转转选择TDengine的三个理由

    在转转的业务中 xff0c 我们使用了Nginx作为我们的反向代理 xff0c 为保证代理层可用性 xff0c 需要对Nginx进行实时状态监控 在服务器的基础监控的选择上 xff0c 我们将OpenFalcon逐步替换为夜莺 xff0c
  • 计算字符串 s 构成的最长回文串长度

    题目 给定一个包含大写字母和小写字母的字符串 s 返回通过这些字母构成的最长的回文串 在构造过程中 请注意区分大小写 比如 Aa 不能当做一个回文字符串 示例 1 输入 s abccccdd 输出 7 解释 我们可以构造的最长的回文串是 d
  • 常见激光雷达厂商 SDK 软件包汇总

    本文收集目前主要激光雷达厂商的 SDK 软件包 xff0c 其中大多还会提供 ROS xff08 ROS1 和 或 ROS2 xff09 驱动软件包 使用这些 SDK 软件包 xff0c 可以快速地将激光雷达集成到你的智能系统中 xff0c
  • GitHub 开启 2FA 双重身份验证的方法

    为什么要开启 2FA 自2023年3月13日起 xff0c 我们登录 GitHub 都会看到一个要求 Enable 2FA 的重要提示 xff0c 具体如下 xff1a GitHub users are now required to en
  • 在 Linux 系统中如何查看和指定 C 语言标准

    本文主要介绍在 Linux 系统中如何查看当前支持的 C 语言版本 xff0c 以及在编译时如何指定 C 语言标准 目前常见的 C 语言标准有 C89 C99 C11 和 C17 xff0c 详情可参考 C语言标准 查看 C 语言标准 我们
  • 使用Openssl EVP函数计算Hash值

    OpenSSL EVP函数库提供了一组用于加密操作高层接口 xff0c 其中也包含了计算消息摘要Hash值得函数 OpenSSL提供了MD2 MD4 MD5 sha1 sha256 sha512等多种Hash算法 计算Hash值相关API
  • 51单片机+L298N控制步进电机【T型】加减速

    本文介绍另一种常见的步进电机 T型 加减速方法 关于L298N模块的使用介绍 以及S型加减速可以上一篇文章 xff0c 传送门如下 xff1a 51单片机 43 L298N控制步进电机S曲线加减速 1 与S曲线加减速对比 1 S曲线一般用查
  • curl用法2

    CURLOPT FTPSSLAUTH The FTP authentication method when is activated CURLFTPAUTH SSL try SSL first CURLFTPAUTH TLS try TLS
  • 简单小实验——串口控制LED灯(HAL库)

    硬件设备 STM32F103ZET3开发板 STLink 功能实现 发送ON LED亮 发送OFF LED灭 其他指令串口发送error 实验过程 波特率设置为115200 数据位8 奇偶校验位None 停止位1 这里我采用的是中断的方式去
  • sudo apt-get update报错【错误:5 http://packages.ros.org/ros/ubuntu xenial InRelease】

    sudo apt get update报错 错误 5 http packages ros org ros ubuntu xenial InRelease 解决办法 xff1a ros的wiki官网 xff0c 更新公钥 网址http wik
  • windowns10下安装MySQL

    安装时参考一下这个链接 xff0c 亲测可用 https blog csdn net qq 45173404 article details 107369405 fps 61 1 amp locationNum 61 2
  • Semi-join在Greenplum中的三种实现方式

    Semi join xff08 半连接 xff09 是用来处理外表的记录是否在内表中存在与其匹配的行 xff0c 而无需考虑匹配行的条数 xff0c 半连接的返回结果集仅使用外表数据集 xff0c 使用场景如 xff1a in exists
  • C#在不同VS版本切换时报错未能找到类型或命名空间名称MySQL

    C 未能找到类型或命名空间名称MySQL 在尝试各种方法无效后 xff0c 通过下方链接第三种情况解决问题 https blog csdn net li gege article details 103416210 utm medium 6
  • Lipschitz 条件或者Lipschitz连续

    https blog csdn net tanga cc article details 86362897
  • STM32F4开发板学习笔记一

    STM32F4是由ST xff08 意法半导体 xff09 开发的一种高性能微控制器 xff0c 之前学习过51单片机的相关知识 xff0c 现在看STM32F4的芯片 xff0c 不得不说它强大的外设功能 xff0c 还有就是固件库 对于
  • 类的三种继承方式

    类的继承方式 公有型 xff08 public xff09 保护型 xff08 protected xff09 私有型 private xff0c 访问控制修饰符也有public protected private3种类型 继承方式不同 x
  • C++ 中在函数的前面加上static的作用

    在一般的函数前面加上static 作用是 xff1a 加了static后表示该函数失去了全局可见性 xff0c 只在该函数所在的文件作用域内可见 当函数声明为static以后 编译器在该目标编译单元内只含有该函数的入口地址 没有函数名 其它
  • 网络字节序跟主机字节序有什么区别

    网络字节序跟主机字节序有什么区别 xff0c 这是我16年9月份校招面试腾讯被问到的一个问题 xff0c 也是Linux服务器开发岗常考的面试题 字节序分为大端字节序和小端字节序 大端字节序是指一个整数的高位字节 xff08 32 31bi