4.9、字节序

news2024/11/16 13:48:28

4.9、字节序

  • 1.简介
  • 2.字节序举例
  • 3.判断电脑存储方式代码

1.简介

现代 CPU 的累加器一次都能装载(至少)4 字节(这里考虑 32 位机),即一个整数。那么这 4字节在内存中排列的顺序将影响它被累加器装载成的整数的值,这就是字节序问题。在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编码/译码从而导致通信失败。

字节序,顾名思义字节的顺序,就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。

字节序分为大端字节序(Big-Endian)小端字节序(Little-Endian)。大端字节序是指一个整数的最高位字节(23 ~ 31 bit)存储在内存的低地址处,低位字节(0 ~ 7 bit)存储在内存的高地址处;小端字节序则是指整数的高位字节存储在内存的高地址处,而低位字节则存储在内存的低地址处。

2.字节序举例

  • 小端字节序
    0x 01 02 03 04
    内存的方向 ----->
    内存的低位 -----> 内存的高位
    04 03 02 01
    在这里插入图片描述
    • 读取结果:0x 11 22 33 44 12 34 56 78
  • 大端字节序
    0x 01 02 03 04
    内存的方向 ----->
    内存的低位 -----> 内存的高位
    01 02 03 04
    在这里插入图片描述
    • 读取结果:0x 12 34 56 78 11 22 33 44

3.判断电脑存储方式代码

#include <iostream>

using namespace std;

int main()
{
    union Node
    {
        short value;
        char str[sizeof(value)];
    };

    Node test;
    test.value = 0x0102;

    if (test.str[0] == 1 && test.str[1] == 2) 
    {
        cout << "大端" << endl;
    }
    else if (test.str[0] == 2 && test.str[1] == 1)
    {
        cout << "小端" << endl;
    }
    return 0;
}

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

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

相关文章

vue element-ui 暗黑主题应用到若依框架

问题描述 基于若依框架的element-ui&#xff0c;将主题更换为暗黑主题。 问题分析 现有的element-ui框架提供的主题不满足自定义需求&#xff0c;大多数框架&#xff0c;包括若依提供了更换主题色的功能&#xff0c;但也只是更换的primary-color&#xff0c;其他组件的主题还…

算法小课堂(五)贪心算法

一、概述 贪心算法是一种常见的算法思想&#xff0c;用于解决优化问题。其基本思想是在每一步选择中都采取当前状态下最优的选择&#xff0c;从而希望能够获得全局最优解。 具体来说&#xff0c;贪心算法通常分为以下步骤&#xff1a; 定义问题的最优解&#xff0c;通常需要将…

【人生历程】我的创作纪念日

目录 与编程不得不说的爱恨情仇 在csdn的收获&#xff1a; 与csdn的日常 在平凡的日子偶然的成就感&#xff1a; 对未来的憧憬&#xff1a; 今天是2023.4.8号&#xff0c;早上的刚刚参加完蓝桥杯&#xff0c;下午看到csdn官方的活动&#xff0c;心血来潮写下以下内容&…

家政服务小程序实战开发教程018-用户注册

我们在教程的一开始的时候就讲解了用户注册的功能。当初的规划是一进来就让用户自主的选择角色&#xff0c;然后提交用户信息&#xff0c;如果未注册就跳转到注册界面。 随着教程的深入&#xff0c;又参考了很多线上的小程序&#xff0c;发现这种模式也有一定的缺点。因为作为…

Linux网络虚拟化2

Linux网络虚拟化2 今天我们接着上节课介绍的 Linux 网络知识&#xff0c;继续来学习它们在虚拟化网络方面的应用&#xff0c;从而为后续学习容器编排系统、理解各个容器是如何通过虚拟化网络来协同工作打好基础。 这一篇内容较多&#xff0c;可以重点看标红部分和标粗部分​。…

Ubuntu环境下minicom使用

1、minicom的安装 sudo apt-get install minicom2、minicom的配置 sudo minicom -s # 打开minicom配置界面3、配置serial port setup串口信息 使用上下箭头选择&#xff0c;enter进入。 按A修改Serial Device&#xff0c;修改之前可以用命令ls -la /dev/ttyUSB或者ls -la …

java 一文讲透集合框架(10万字博文)

目录 一、前言 二、集合简介 1.定义 : 2.集合与数组的区别 : 3.集合的好处 : 三、集合框架 1.单列集合 2.双列集合 Δ体系图&#xff08;重要&#xff09; 四、List集合详解&#xff08;三万余字&#xff09; 五、Set集合详解&#xff08;三万余字&#xff09; 六、增…

学习实践-Whisper语音识别模型实战(部署+运行)

1、Whisper内容简单介绍 OpenAI的语音识别模型Whisper&#xff0c;Whisper 是一个自动语音识别&#xff08;ASR&#xff0c;Automatic Speech Recognition&#xff09;系统&#xff0c;OpenAI 通过从网络上收集了 68 万小时的多语言&#xff08;98 种语言&#xff09;和多任务…

论文笔记|CVPR2023:Semantic Prompt for Few-Shot Image Recognition

论文地址&#xff1a;https://arxiv.org/pdf/2303.14123.pdf 这是一篇2023年发表在CVPR上的论文&#xff0c;论文题目是Semantic Prompt for Few-Shot Image Recognitio&#xff0c;即用于小样本图像识别的语义提示。 1 Motivation 第一&#xff0c;最近几项研究利用 语义信…

< Linux >:进程地址空间

目录 一、验证进程地址空间 二、感知进程地址空间的存在 一、验证进程地址空间 我们之前学的 C/C 程序地址空间是物理内存吗&#xff1f; 答&#xff1a;不是物理内存&#xff0c;甚至叫做程序地址空间都不太准确&#xff0c;应该叫做进程地址空间&#xff0c;因此根本就不是…

Notion插件,让你的页面有无限可能

// 你是否觉得notion的极简风格略为单调&#xff1f;是否想用notion实现更多的功能&#xff1f;是否想让notion更为便捷&#xff0c;更为多样化&#xff1f;那今天推荐的几款notion插件绝对不能错过&#xff0c;因为他们也确实不错。 // - ———byFutureForce DAO——— - 你…

把ChatGPT接入我的个人网站

效果图 详细内容和使用说明可以查看我的个人网站文章 把ChatGPT接入我的个人网站 献给有外网服务器的小伙伴 如果你本人已经有一台外网的服务器&#xff0c;并且页拥有一个OpenAI API Key&#xff0c;那么下面就可以参照我的教程来搭建一个自己的ChatGPT。 需要的环境 Cento…

让我们一起解密组播、IGMP、IGMP监听

前言&#xff1a;一直对组播这个概念迷迷糊糊&#xff0c;特别是交换机处理组播的方式&#xff0c;非常想搞懂但是懒癌发作。这几天终于耐心地看了下有关组播的资料&#xff0c;大致了解了一下同一广播域内组播的相关知识。组播占了计算机网络的一大部分&#xff0c;特别是组播…

ChatGPT 被大面积封号,到底发生什么了?

意大利数据保护机表示 OpenAI 公司不但非法收集大量意大利用户个人数据&#xff0c;没有设立检查 ChatGPT 用户年龄的机制。 ChatGPT 似乎正在遭遇一场滑铁卢。 3月31日&#xff0c; 大量用户在社交平台吐槽&#xff0c;自己花钱开通的 ChatGPT 账户已经无法登录&#xff0c;更…

举一反三学python(9)—excel基础

一、导论&#xff1a; 操作 excel 表格的Python 第三方库有openpyxl、xlrd、xlwt等&#xff0c;它们的功能都相同&#xff0c;就是语法有差异&#xff0c;今天我就带领大家学习用openpyxl模块操作实用的excel文件。 openpyxl模块为第三方库&#xff0c;首先要安装&#xff1a;p…

electron+vue3全家桶+vite项目搭建【九】集成vite-plugin-mock-server 模拟后端请求

文章目录引入1.引入依赖2.集成插件3.测试接口请求引入 后端接口出的太慢&#xff1f;问题不大&#xff0c;咱们可以借助vite-plugin-mock-server插件自己写接口&#xff0c;返回商量好的格式&#xff0c;后续联调直接切换环境即可 vite-plugin-mock-server官网 mock.js官网 …

uniapp人脸识别解决方案

APP端&#xff1a; 因为APP端无法使用uni的camera组件&#xff0c;最开始考虑使用内嵌webview的方式&#xff0c;通过原生dom调用video渲染画面然后通过canvas截图。但是此方案兼容性在ios几乎为0&#xff0c;如果app只考虑安卓端的话可以采用此方案。后面又想用live-pusher组件…

【Linux】vi编辑器——插入模式

目录 插入模式 光标移动命令 a A i I o O命令 a----------------在光标后附加文本 A----------------在文本行末附加文本 i------------------在光标前插入文本 I-------------------在文本开始插入文本 o----------------在光标下插入新行 O---------------在…

陶泓达:4.11黄金原油白银最新走势分析及操作策略!

黄金行情走势分析&#xff1a;   周一(4月10日)&#xff0c;国际金价一度跌约1%&#xff0c;重回2000美元干口下方。此前公布的美国3月非农就业数据显示劳动力市场吃紧&#xff0c;并提高了美联储5月再次加息的预期。金属公司MKS PAMP在一份报告中表示&#xff1a;“金价自20…

Doris(5):数据导入(Load)之Broker load

为适配不同的数据导入需求&#xff0c;Doris系统提供了五种不同的数据导入方式&#xff0c;每种数据导入方式支持不同的数据源&#xff0c;存在不同的方式&#xff08;异步&#xff0c;同步&#xff09; Broker load 通过Broker进程访问并读取外部数据源&#xff08;HDFS&#…