C++学习笔记(50)

news2024/10/9 23:22:04

343、主机字节序与网络字节序
一、大端序/小端序
如果数据类型占用的内存空间大于 1 字节,CPU 把数据存放在内存中的方式有两种:
 大端序(Big Endian):低位字节存放在高位,高位字节存放在低位。
 小端序(Little Endia):低位字节存放在低位,高位字节存放在高位。
假设从内存地址 0x00000001 处开始存储十六进制数 0x12345678,那么:
Bit-endian(按原来顺序存储)
0x00000001 0x12
0x00000002 0x34
0x00000003 0x56
0x00000004 0x78
Little-endian(颠倒顺序储存)
0x00000001 0x78
0x00000002 0x56
0x00000003 0x34
0x00000004 0x12
Intel 系列的 CPU 以小端序方式保存数据,其它型号的 CPU 不一定。
操作文件的本质是把内存中的数据写入磁盘,在网络编程中,传输数据的本质也是把数据写入文件
(socket 也是文件描述符)。
这样的话,字节序不同的计算机之间传输数据,可能会出现问题。 二、网络字节序
为了解决不同字节序的计算机之间传输数据的问题,约定采用网络字节序(大端序)。
C 语言提供了四个库函数,用于在主机字节序和网络字节序之间转换:
uint16_t h to n s(uint16_t hostshort); // uint16_t 2 字节的整数 unsigned short
uint32_t htonl(uint32_t hostlong); // uint32_t 4 字节的整数 unsigned int
uint16_t ntohs(uint16_t netshort);
uint32_t n to h l(uint32_t netlong);
h host(主机);
to 转换;
n network(网络);
s short(2 字节,16 位的整数);
l long(4 字节,32 位的整数);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2200337.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

老外发微信时说“I‘ll ping you”是什么意思?发微信怎么用英语说柯桥学英语到哪里?

“发信息”还可以怎么说? 其实很简单,message做动词时,可以直接表达:发信息 ▼ 🌰举个例子 I messaged him yesterday but havent had a reply. 昨天我给他发了短信,但没有回音。 我们现在常说的“发信…

使用Python批量修改文件修改日期为随机的6到8月份

使用Python批量修改文件修改日期为随机的6到8月份 每当雪花飘起的时候,总有一股抹不去的情节,会想起儿时雪天的记忆,虽然模糊但也清晰。那时每年的冬季很冷,但依然喜欢飘雪的日子,看着满天迷蒙飘舞的雪花总有想不完的心…

生成树实验

1 生成树关键点, 第一树根,第二在每个非根桥找root端口 第三 在每个物理片段找指定网桥,第四指定网桥对应的端口就是指定端口 bpdu 比较的方式 root 桥,到root 桥的路径开销,指定桥,指定端口&#x…

双登股份再战IPO:数据打架,实控人杨善基千万元股权激励儿子

撰稿|行星 来源|贝多财经 近日,双登集团股份有限公司(下称“双登股份”)递交招股书,准备在港交所主板上市,中金公司、建银国际、华泰国际为其联席保荐人。 贝多财经了解到,这并非双登股份首次向资本市场…

谷歌AI大模型Gemini API快速入门及LangChain调用视频教程

1. 谷歌Gemini API KEY获取及AI Studio使用 要使用谷歌Gemini API,首先需要获取API密钥。以下是获取API密钥的步骤: 访问Google AI Studio: 打开浏览器,访问Google AI Studio。使用Google账号登录,若没有账号&#xf…

体制内的必须要知道的“人情世故”及职场礼仪

最近,一位新来的小姑娘在参加活动的时候给外来领导带路,结果到跟前时,没有及时退让,夹在了自己领导与外来领导之间,妨碍了两位领导握手,下来后被一顿狠批。这其实是新人不太懂职场礼仪导致的,笔…

OpenCV库模块解析

1.OpenCV库每个模块解析 2.OpenCV的常用函数 它为计算机视觉应用程序提供了一个通用的基础设施,并加速了在商业产品中使用机器感知。作为BSD许可的产品,OpenCV使企业可以很容易地利用和修改代码。该库拥有超过2500个优化算法,其中包括经典和最…

大数据-158 Apache Kylin 安装配置详解 集群模式启动

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

无线麦克风什么牌子的音质效果好?选购中必须警惕劣质产品

在音频设备不断推陈出新、日益丰富多样的今天,无线领夹麦克风以其独有的优点崭露头角。它的设计非常精巧,佩戴起来既舒适又方便,并且在各种不同的环境下都能保证音质稳定以及传输效果良好。 无论是在户外进行拍摄、室内开展直播,…

uniapp学习(003-3 vue3学习 Part.3)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战,开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第21p-第p25的内容 文章目录 双向绑定的实现原理例子 计算属性例子1双向绑定格式改成计算属性 例子2 watchwatc…

STM32 -- USB通信 ( 虚拟串口)

本篇操作: 通过CubeMX Keil,配置STM32作为USB设备端,与电脑进行通信(CDC);通用带USB功能的 STM32 芯片 (如F1、F4等,系统时钟配置不同,代码通用)。 目录 一、 STM32内…

高质量带货短视频素材来源推荐

在抖音带货时,寻找高质量视频素材至关重要。今天,我为大家分享五个可以下载高清无水印带货短视频素材的网站,帮助你轻松获取灵感和素材! 蛙学网 蛙学网作为国内领先的短视频素材平台,提供多种类的带货短视频素材。无论…

[QT GUI Tips] Qt creator + PySide6 如何让图像控件的尺寸变化和窗口一致

前言:【这是个AI不会回答的问题】 Qt Creator 新的版本又发出了,Pyside6 有很多新功能。但是,一些传统的方法要被淘汰了。 一个经典的例子是: 我有个一个图像要显示在Form里面的图像控件上,OK, 我现在拖…

操作系统-系统调用

应用程序调用printf(),会触发系统调用write() 1、概念 操作系统服务的编程接口,通常由高级语言编写(C/C),程序访问通常是通过高层次的API接口而不是直接进行系统调用。 2、三种最常用的应用程序编程接口(API&#xf…

从零开始:网页在线制作入门指南

如果你对网页在线制作感兴趣,想学习如何从零开始创建一个网页,这个教程将带你了解基础步骤、所需工具以及如何将设计交付给开发人员的完整过程。接下来,让我们开始吧! 一、 明确目标群体与网站用途 在启动网页制作之前&#xff…

【UE】简单介绍“Extra Win Function”插件的功能

“Extra Win Function”插件包含32个C类封住成的蓝图节点供用户使用,下面简单介绍19个可能常用的节点的功能。 1. “Is Internet Available” 检查是否可接入互联网 2. “Get Device Platform” 获取设备平台名称 3. “Get Android Device RAMSize” 获取RAM 大小 …

Leetcode 486. 预测赢家

1、心路历程 这道题最开始想到的做法是回溯,因为看起来遍历就可以做,但是又想到同时需要维护两个人的数据就有点懵了。后来提示说用动态规划做是OK的。 这道题最难的地方在于,需要把输赢建模成“净胜分”,这样就能把两个主体合并…

如何在Android Studio中找到CMakeLists.txt的打印信息

根据Android Studio 中的 CMake message 输出位置在哪里? - 简书 (jianshu.com) 的描述,MESSAGE函数打印的STATUS级别的信息在android studio中是看不到的。所以采用WARNING级别打印。 下面使用android studio 2023.2.1打印信息。编译之后,点…

[实用工具]Docker安装nextcloud实现私有云服务

Nextcloud是一款开源的云存储和协作平台,允许用户在自己的服务器上存储和访问文件,同时提供强大的协作工具。它可以替代商业云存储服务,让用户拥有完全控制和自主管理自己的数据。 Nextcloud支持文件上传和下载,可以通过Web界面、…

指针 (八)例题深度解析

有关于指针的基本知识点我们都已经讲解完了,不出意外的话,这一篇就是我们指针的最后一期了,今天我们就来看一看一些有关于指针运算的例题: 每一道题诸君都应该有着自己先独立思考的能力,咱们不要怕面对,不…