如何判断一个系统的大小端的存储模式

news2024/9/23 9:34:13

1、什么是大小端

大小端:是指在计算机系统中,多字节数据(如整数、浮点数等)存储顺序的不同而不同的称呼。

在计算机内存中,数据是以字节为单位存储的。对于多字节数据,如4字节的整数,存储的时候需要选择一个字节作为起始位置,并按照一定的顺序存储字节。

 大端:是指高位字节在前、低位字节在后的存储方式。

就是整数的高位字节存储在低地址中,低位字节存储在高地址中。类似于大端法的读书方式,从书的开头按照顺序读取每个字节。

 小端:是指低位字节在前、高位字节在后的存储方式。

就是整数的低位字节存储在低地址中,高位字节存储在高地址中。类似于小端法的读书方式,从书的结尾倒着读取每个字节。

使用int a=0x11223344为例子

大小端存储模式的选择主要取决于计算机体系结构和操作系统的设计。不同体系结构和操作系统可能选择不同的存储模式。

2、怎么判断一个系统的大小端

int judgment() {
    int num = 1;
    // 将int类型的变量的地址转换为char类型的指针
    char* ptr = (char*)#
    // 判断指针所指向的值,如果为1则为小端存储,否则为大端存储
    return *ptr;
}

 int main() {
    if (judgment()) {
        printf("Little Endian\n");
    }
    else {
        printf("Big Endian\n");
    }
    return 0;
}

主要是通过每个变量的字节不int是4个字节同然后通过强行转(char是一个字节存储不下int的4个字节就会存储int类型的第一个字节),转化变量让后通过调试观察char类型即可。

 由上图可知较大的数在前面所以VScode是一个小端的编译器。

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

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

相关文章

基于JAVA+SpringBoot+Vue的前后端分离企业oa管理系统

基于JAVASpringBootVue的前后端分离企业oa管理系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末附源码下载链接&#x1…

化工原料环保能源网站模板整站打包下载

图片在最下面 响应式新能源化工研究院网站模板.zip 营销型硅胶制品原料网站模板.zip 环境水务治理网站模板.zip 响应式新能源清洁能源公司网站模板.zip 环保废气废水处理工程类网站模板.zip 活性炭净化炭企业网站模板.zip 响应式新能源开发企业网站模板.zip 营销型塑料…

leaflet【十】实时增加轨迹点轨迹回放效果实现

实时轨迹回放 在前面有用leaflet-trackplayer实现了一个轨迹回放的效果,单击前往:轨迹回放效果&控制台控制轨迹运动效果 这篇文章主要是实现一下实时增加轨迹点,不改变原来运行轨迹和速度。这里是简易做了一个demo效果,大概…

django学习入门系列之第十点《A 案例: 员工管理系统5》

文章目录 7 模板的继承7.1 继承指令-占位符7.2 继承指令 - 继承符7.3 **想用继承的html的文件**7.4 简单模板的例子 8 用户管理8.1 展示日期数据8.2 转义文字(应该会常用)8.3 搜索并跨表8.4 模板语法 往期回顾 7 模板的继承 部门列表添加部门编辑部门 …

如何使用ChatGPT,完成学术论文文献综述的编写?

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 在学术研究中,文献综述是了解研究现状、辨识研究空白并为自己的研究奠定理论基础的关键环节。ChatGPT 可以在文献综述的编写过程中提供有效的支持,从文献搜集、批…

51单片机快速入门之延时代码 STC 51单片机

51单片机快速入门之延时代码 时序周期:简单的举例(早 中 晚) 时间基准:一个机器周期有 12个 振荡周期(晶振) 假设我们现在手上为12MHz晶振 单个振荡周期计算公式:T(时间周期)1/f(晶振的频率) 在处理频率相关的计算时,通常会使用赫兹(Hz)…

【Linux】【Vim】Vim 基础

Vim/Gvim 基础 文本编辑基础编辑操作符命令和位移改变文本重复改动Visual 模式移动文本(复制、粘贴)文本对象替换模式 光标移动以 word 为单位移动行首和行尾行内指定单字符移动到匹配的括号光标移动到指定行滚屏简单查找 /string标记 分屏vimdiff 文本编辑 基础编辑 Normal 模…

Unity让摄像机跟随物体的方法(不借助父子关系)

在Unity中,不使用子对象的方式让相机跟随物体移动,我们通过编写脚本来实现。下面放一个从工程中摘出来的的C#脚本示例,用于将相机绑定到一个Target对象上并跟随其移动: using UnityEngine; public class FollowCamera : MonoBeh…

Mac 上终端使用 MySql 记录

文章目录 下载安装终端进入 MySql常用操作查看数据库选择一个数据库查看当前选择的数据库Navcat 打开提示报错参考文章 下载安装 先下载社区版的 MySql 安装的过程需要设置 root 的密码,这个是要进入数据库所设定的,所以要记住 终端进入 MySql 首先输…

docker+docker-compose+gitlab

Docker安装 下载 下载docker二级制文件docker-20.10.9.tgz https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz 上传到/data目录 解压文件 # cd /data # tar -zxf docker-20.10.9.tgz 移动解压出来的文件到/usr/bin目录 # mv docker/* /usr/b…

RAPIDS AI 加速制造业预测性维护效率

根据国际自动化协会(ISA)报告,每年有5%的工厂生产因机时间而受到损失。在另一种情况下,各行各业的制造商在全球范围内放弃了大约647亿美元,而相应的部分在生产中则接近13万亿美元。当前的挑战是预测这些机器的维护需求…

fastjson漏洞--以运维角度进行修复

文章目录 前言一、漏洞详情二、修复过程1.通过脚本方式修复1.1.脚本修复原理1.2.脚本演示1.3.执行脚本 2. 手动升级包2.1.修复步骤2.2.遇到的问题 前言 该漏洞是三个月前由安全团队扫描出来的,主要影响是: FastJSON是阿里巴巴的开源JSON解析库,它可以解…

机器人--手眼标定算法

教程 知乎1 CSDN博主 什么是手眼标定 eye_to_hand 相机不在机器人上-----相机坐标系相对于机器人基坐标系的转换矩阵不变; eye_in_hand 相机在机器人上-----相机坐标系相对于机器人工具坐标系的转换矩阵不变; 手眼标定的目的 目的:求解出…

模板语法

模板语法 {{.}} 模板语法都包含在 {{ 和 }} 中间,其中{{ . }}中的点表示当前对象。 当传入一个结构体对象时,可以根据 . 来访问结构体的对应字段。 当传入的变量是map时,也可以在模板文件中通过 . 根据key来取值。 main.go package maini…

S3C2440 ARM设备驱动(boot loader,kernel,rootfs)

一、开发板Linux启动需求 1、bootloader 为内核启动准备环境,并引导内核启动 2、kernel(linux内核) 操作系统的核心,(狭义上的操作系统) 3、rootfs 一堆有组织的文件 1. bootloader(一个裸机程序) 初始化C…

【MM24】【水下目标分割】Dual_SAM

论文:https://arxiv.org/abs/2404.04996 代码:https://github.com/Drchip61/Dual_SAM 点评 这篇文章介绍的改进SAM,面向海洋生物的分割。但是海洋图像易受噪声影响,论文中仅是通过一个gamma变换减弱了这种影响。双主干网络的参数量并没有提及…

2.队列和队列集

队列的本质就是环形buff,加了互斥操作,加了阻塞-唤醒. 1.介绍一下环形BUFF 2.阻塞和唤醒 在我们队列中是有一个读list 链表 和 一个写list链表 他们就是用来保存 读 或者 写阻塞 的任务 假设我们 就绪链表中有A 和 B两个任务 他们正常情况下都是轮流运行, 这个时候 A 想读队…

IDEA中集成Git及Github

我的博客大纲 我的GIT学习大纲 1、IDEA中集成Git 1.1.设置IDEA忽略一些文件: a.为什么要忽略一些文件 1.在将项目推送之前,有一些文件是可以忽略的,忽略这些文件与实际功能无关,不参与服务器上部署运行,把他们忽略掉…

【DCL】Dual Contrastive Learning for General Face Forgery Detection

文章目录 Dual Contrastive Learning for General Face Forgery Detectionkey points:贡献方法数据视图生成对比学习架构实例间对比学习实例内对比学习总损失函数实验实验细节定量结果跨数据集评估跨操作评估消融实验可视化Dual Contrastive Learning for General Face Forgery…

HarmonyOS开发5.0【封装request泛型方法】axios

一 准备工作 1. 先开启一下虚拟机的权限 src/main/module.json5 打开module.json5在15~19行 进行配置网络权限 2. 在终端下载安装一下 ohpm install ohos/axios 复制 粘贴进去回车就行 3. 这样显示就是安装好了 如果导入不行就关了重新启动 二 创建一个ETS文件,…