字节序不是由操作系统决定的,而是由cpu架构决定的

主机字节序和网络字节序 文章目录前言一、主机字节序和网络字节序概念存储方式判断大小端二、总结 前言 本篇文章简要的介绍一些计算机中数据存储的格式,以及网络传输中数据存储的格式。 提示:以下是本篇文章正文内容,下面案例可供参考 一、主机字节序和网络字节序 概念 主机字节序又叫 CPU 字节序,其不是由操作系统决定的,而是由 CPU 指令集架构决定的。主机字节序分为两种: 大端字节序(Big Endian):高序字节存储在低位地址,低序字节存储在高位地址 小端字节序(Little Endian):高序字节存储在高位地址,低序字节 阅读详情

最开始学的时候不知道听谁说的linux和windows字节序不同,字节序由操作系统决定。

然而今天才明白
字节序不是由操作系统决定的,而是由cpu架构决定的
证明:
1.首先明确我们怎么确定cpu架构
CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。目前市面上的CPU指令集分类主要分有两大阵营,一个是intel、AMD为首的复杂指令集CPU,另一个是以IBM、ARM为首的精简指令集CPU。两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM公司的CPU是PowerPC架构,ARM公司是ARM架构。
2.声明一下我的是X86架构
在windows下面我写了一个程序

#include<stdio.h>
int main()
{
    int i = 0x10203040;
    char *p = (char *)(&i);
    printf("内存地址 :%x  %x\n",p,*p);
    printf("内存地址 :%x  %x\n",p+1,*(p+1));
    printf("内存地址 :%x  %x\n",p+2,*(p+2));
    printf("内存地址 :%x  %x\n",p+3,*(p+3));
}

Windows中运行情况
Windows中运行情况

在我的虚拟机redhat中
在我的虚拟机redhat中

发现都是低地址中都是放的低位字节★

3.我们还要了解到
端模式分为:小端字节序和大端字节序,也就是字节在内存中的顺序。

小端字节序:低字节存于内存低地址;高字节存于内存高地址。

大端字节序:高字节存于内存低地址;低字节存于内存高地址。

网络字节序:就是大端字节序。规定不同系统间通信一律采用网络字节序。

4.分析:(1)我的redhat和windows是共用一个cpu的,所以架构肯定是一样的(都是x86)。
(2)在redhat和windows中结果都是一样的(小端字节序)。

5.由此我们可以证明得字:节序不是由操作系统决定的,而是由cpu架构决定的

总结:不能全相信网上说的(比如这篇文章,差点误导我,但是也是这篇文章给我了好奇,去证明。http://blog.youkuaiyun.com/forestlight/article/details/6933528)当然这只是这篇文章的一个小不足,整篇文章也是写的很不错的。

基于YOLOv8和PaddlepaddleOCR的微信截图聊天记录提取 本文提出了一种基于YOLOv8和PaddleOCR的微信聊天记录提取方法。首先使用YOLOv8n模型分割出聊天气泡(针对深浅色模式分别训练),通过合成数据集增强模型鲁棒性,召回率达0.995。随后采用PP-OCRv5进行文本识别,利用坐标匹配将气泡内文本送入识别队列,短长文本平均置信度分别>0.98和>0.95。文中特别强调了PaddleOCR不同版本的输出格式差异及适配方案,建议使用3.0+版本。该方法有效解决了直接OCR识别易受干扰的问题,通过气泡分割+文本定位的两阶段策略显著提升了识别准确 阅读详情

相关推荐

手把手教你理解ARM SoC中的PPU:电源管理IP的配置与实战避坑指南

本文深入解析ARM SoC中的PPU(Power Policy Unit)电源管理IP,提供详细的配置指南与实战避坑技巧。从PPU基础架构、寄存器配置到与PCSM的协同工作,全面介绍如何优化电源管理策略,解决常见配置误区,并分享高级调试与性能优化方法,助力工程师提升低功耗SoC设计效率。

weixin_28693447的博客 479

【C语言】大小端字节序问题

大小端是由CPU决定的,大小端可以理解为字节顺序,所以大小端全称叫大端字节序、小端字节序。其实大端、小端这两个词是从《格列佛游记》里出来的。《格列佛游记》有一段讲的是吃鸡蛋是从大的那头敲开还是小的那头敲开的问题,书中把从大头敲开的那种叫做大端,把从小头敲开的那种叫小端,第一个指出计算机数据存储顺序问题的人就采用了这个大小端的说法。这是a的内存地址0x00C5FBDC(为了方便观察里面数据采用16进制),可以看到a在内存中是01 00 00 00。

qq_65596720的博客 7225

PyTorch+C3D实战:用UCF101数据集训练你的第一个视频动作识别模型(附完整代码)

本文详细介绍了如何使用PyTorch和C3D模型在UCF101数据集上构建视频动作识别系统。从环境配置、数据预处理到模型训练与优化,提供了完整的代码实战指南,帮助开发者快速掌握视频行为识别技术。文章特别强调了3D卷积核设计、混合精度训练等关键技术要点,并分享了模型部署优化经验。

weixin_29233857的博客 218

大小端格式由编译器,操作系统还是CPU决定的?答案是CPU

有读者问了这么一个问题:大小端与编译器和操作系统有关吗? 其实大小端主要由CPU决定,与编译器、操作系统这些没有直接关系。 因为我以前学习的时候,有很长一段时间也是存在这样的疑问。我觉得应该还有很多人都没搞明白,所以,今天来分享一下相关内容。 一、关于大小端 大小端也可以理解为字节顺序,或者端序、尾序,也就是你们看到的大端序(Big-Endian)、小端序(Little-Endian)。 ...

二进制模----细微行动改变影响世界 1731

实战指南!基于STM32的智能环境监测系统(代码+硬件设计+云端控制)

本文详细介绍了基于STM32的智能环境监测系统的设计与实现,包括硬件选型、电路设计、软件架构和云端控制。系统通过DHT11温湿度传感器和MQ-2烟雾传感器实时监测环境数据,STM32F103C8T6主控芯片处理数据并通过ESP8266上传至中国移动物联网平台,支持手机APP远程监控。项目成本低、稳定性高,适合智能家居和环境监测应用。

weixin_29194817的博客 433

【以太网硬件六】1000base-T物理层编码究竟是怎么编的?

详述1000base-T物理层4D-PAM5的编码过程

highman110的博客 5324

大小端字节序

因此,当不同字节序的系统之间需要通过网络进行通信时,就需要将主机字节序转换为网络字节序,或者反之。在小端模式下,情况正好相反:最低有效字节存放在内存的最低地址处,而最高有效字节则存放在最高地址处。在大端模式下,数据的最高有效字节存放在内存的最低地址处,而最低有效字节则存放在最高地址处。对于单个字节的数据,由于只有一个字节,不存在字节序的问题,所以不需要使用这些转换函数。区别:主要在于字节序的不同,即多字节数据类型的各个字节在内存中的排列顺序。htons():将16位无符号整数从主机字节序转换为网络字节序。

qq_41979948的博客 485

2026最新YOLO26改进:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

针对YOLO26模型改进痛点,本专栏整理200+实战验证方法,覆盖卷积层、注意力机制等核心模块。 每种方法含原理、性能分析、改进路径及实操流程,代码可直接运行,快速提升模型效果,性价比超高。

魔改工程师的博客 1万+

大小端格式由编译器还是CPU决定的?

关注、星标公众号,不错过精彩内容编辑:黄工素材来源:网络有读者问了这么一个问题:大小端与编译器和操作系统有关吗?其实大小端主要由CPU决定,与编译器、操...

strongerHuang 5992

踩坑实录:C#上位机YOLOv11从2FPS到45FPS,ONNX Runtime GPU加速全解析

算力迁移:将推理核心从CPU迁移至GPU(核心提速手段);内存复用:避免重复分配/释放内存,减少GC压力;维度固定:工业场景固定输入分辨率,关闭动态维度;资源限制:合理限制GPU/CPU/内存占用,避免资源耗尽;解耦设计:推理线程与UI线程解耦,避免跨线程问题。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 570

SXU—软件测试方法和技术-朱少民-第三部分 软件测试方法大题汇总-附考点和相关习题及解答

软件测试方法和技术-朱少民-第三部分 软件测试方法—-最少测试用例个数,强一般弱一般强健壮、边界值分析、ns流程图、白盒逻辑覆盖代码、等价类划分,逻辑组合(条件)覆盖,计算圈复杂度等—附考点和相关习题及解答

weixin_63597914的博客 2211

大端字节序和小端字节序

计算机数据存储方式 1、大端字节序 数据的最高有效字节存放在低地址 2、小端字节序 数据的最高有效字节存放在高地址 *示例:32位系统 int数据 0x12345678 * 大端字节序 地址 0x0000 0x0001 0x0002 0x0003 数据 0x12 0x34 0x56 0x78 小端字节序 地址 0x0000 0x0001 0x0002 0x0003 ...

weixin_40391982的博客 268

《模型轻量化-剪枝蒸馏量化系列》YOLOv5无损剪枝(附源码)

无损剪枝模型到几百kb~

cv君的博客 3万+

cpu字节序(整理)

字节序不是由操作系统决定的,而是由cpu架构决定的。 CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。目前市面上的CPU指令集分类主要分有两大阵营,一个是intel、AMD为首的复杂指令集CPU,另一个是以IBM、ARM为首的精简指令集CPU。两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而I

流浪喵的博客 5082

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

字节序详细解读

概念来了!!!看概念肯定完犊子,接下来我们明确几个概念。。。什么是高字节?什么是低字节?在一个n进制的位中,最左边的位叫最高有效位,最右边的叫最低有效位。举个例子,1个int的整数123456789按照从右向左的方向,二进制中,0101是低字节,最左边的0000是高字节;十六进制中,15是低字节,07是高字节。再通俗一点解释就是:8421码的,8这端为高位,1这端为低位,相应的字节则分别称为高位字节和低位字节。补充:进制转换在内存中,多字节对象都是被存储为连续的字节序列。假设将int整型在内存中的起始地址(

打不倒的程序猿 9653

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

大端字节序、小端字节序和网络字节序总结

原创文章,转载请注明出处https://blog.youkuaiyun.com/aaron_lyn1985/article/details/54669451一、字节序  字节序是由于不同的主处理器和操作系统,对大于一个字节的变量在内存中的存放顺序不同而产生的。  字节序通常有大端字节序(Big Endian)和小端字节序(Little Endian)两种分类方法。二、大端、小端 "大端"和"小端"表示多字节值...

2876

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

主机字节序

文章目录1 主机字节序和CPU2 主机字节序和操作系统3 主机字节序决定了什么4 主机字节序对我们有影响吗5 为什么不统一主机字节序 字节序不仅仅是在字符存储中的概念、在内存中、网络传输中也存在字节序的概念。 1 主机字节序和CPU 不同架构的处理器,支持不同的字节序,有些是大端、有些是小端、有些是双端。 比如: X86–>小端 PowerPC–>大端 ARM–&g...

木子皿--啥都不会的菜鸟 640

字节序、大端字节序(Big Endian)、小端字节序(Little Endian)总结

什么是字节序? 字节序,简单来说,指的是 超过一个字节的数据类型在内存中存储的顺序 有几种字节序? 大端字节序(Big Endian) 高位字节数据存放在内存低地址处,低位字节数据存放在内存高地址处。 小端字节序(Little Endian) 高位字节数据存放在内存高地址处,低位数据存放在内存低地址处。 如上图所示,int32类型的数值 12345678用一个字节表示不了,需要用到4个字节,也就有了字节序的问题。 数值 12345678(一千两百三十四万五千六百七十八),这里的最高位数据就是1,最低位数据

耕云者~ 2万+

CPU架构差异:大端与小端之谜

CPU架构差异导致数据存储方式不同,主要表现为大端序和小端序两种字节序。x86架构采用小端序以提升计算效率,ARM架构灵活支持双端序,而IBM POWER等传统架构使用大端序便于调试。这种差异源于历史设计哲学、性能考量及生态系统的路径依赖。现代编程通常屏蔽字节序差异,但在网络编程、二进制文件处理等场景仍需注意。字节序的多样性反映了计算机发展中的工程权衡与生态惯性。

qq734639413的博客 819

字节序 主机字节序与网络字节序互相转换

主机字节序与网络字节序互相转换

m0_38062470的博客 3334

操作系统中的大头小头字节序

网络字节序与主机字节序   不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序 最常见的有两种 1. Little endian(小头):将低序字节存储在起始地址 2. Big endian(大头):将高序字节存储在起始地址   LE little-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位存储值的高位 怎么讲是最符

敏于思,慎于行 6778

详解主机字节序和网络字节序(大小端),以及网络数据传输中如何处理字节序

图文结合,细致清晰地讲解如何正确理解网络字节序,以及网络传输中的多字节数据如何处理字节序问题,使得接收/发送端正确解析数据

道法自然 4409

网络字节序VS主机字节序

不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序最常见的有两种:1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE little-endian最符合人的思维的字节序地址低位存储值的低位地址高位存储值的高位怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说低位值小,就应...

anduobiao0736的博客 123

网络字节序与主机字节序

虽然不是DELPHI的代码,不过对于理解内存中数据的存放有帮助,比如为什么在利用文件头判断图片格式一文BMP的头是424D,在比较的时候要用把读到的两个字节用和$4D42来比较,而不是和$424D来比较。http://blog.youkuaiyun.com/onebigday/archive/2010/04/13/5483028.aspx。     ----以下是转载回来的文章----   不同的C

好记性不如烂笔头 1355

主机字节序(大小端判断)及网络字节序

如有转载,请注明出处。 作者:super_bert@csdn 先上两种判断主机字节序的方法(C描述),再详细解释。 判断原理: 1.Union成员本身是被存放在相同的内存空间中(即共享内存),union联合体占用内存大小等于该union的最大成员的大小,所以在一个有char型和int型变量的union中可以通过取值判断出主机字节序; 2.将一个char(BYTE)型变量和一个int型

super_bert的专栏 4035

网络字节序、主机字节序以及大小端的问题

不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序 最常见的有两种 1. Little endian:将低序字节存储在起始地址 2. Big endian:将高序字节存储在起始地址 LE little-endian 最符合人的思维的字节序 地址低位存储值的低位 地址高位存储值的高位 怎么讲是最符合人的思维的字节序,是因为从人的第一观感...

weixin_33841503的博客 399
上一篇: JAVA写的坦克大战(简单)
下一篇: AI象棋中的,最大最小值算法思路
帅东
博客等级 码龄11年 676粉丝 88原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值