首页 > 其他分享 >判断机器大小端的三种方法

判断机器大小端的三种方法

时间:2024-06-01 17:10:54浏览次数:16  
标签:小端 存储 机器 int 端的 num 三种 printf 0x12345678

union Un
{
    int a;
    char b;
};
int main(void)
{
    union Un un;
    un.a = 0x12345678; // 此时内存空间确实为0x12345678,但是更改0x78(例如改成0x99)的值会导致判断失误
    if (un.b == 0x78)  // 具体取决于编译器对联合体的处理方式
    {                  // 这种方法假设了字符成员 b 的位置与整型成员 a 的低位字节是对应的,这在不同系统上可能并不成立
        printf("小端存储 \n");
    }
    else
    {
        printf("大端存储 \n");
    }
    return 0;
}
#include <stdio.h>
int main(void) {
    int num = 0x12345678;
    char *ptr = (char *)&num;
// 通过联合体的方式判断大小端不稳定
// 通过指针指向的方式最安全稳定
    if (*ptr == 0x78) {
        printf("小端存储\n");
    } else {
        printf("大端存储\n");
    }
    return 0;
}
// 还有一种方法是通过打印整形字符串来查看是什么方式存储的
#include <stdio.h>
int main(void)
{
    int num = 0x12345678;
    printf("%hhx\n", num); // half ,截取一半字节输出
    //输出78表示小端存储
    //输出12表示大端存储
    return 0;
}````

标签:小端,存储,机器,int,端的,num,三种,printf,0x12345678
From: https://www.cnblogs.com/ikunkunkun/p/18226154

相关文章

  • 学习前端的知识总结10
    CSS浮动网页布局方式有以下五种:标准流(普通流、文档流)︰网页按照元素的书写顺序依次排列浮动定位Flexbox和Grid(自适应布局)标准流是由块级元素和行内元素按照默认规定的方式来排列,块级就是占一行,行内元素一行放好多个元素。1.浮动浮动最典型的应用:可以让多个块级元素一行......
  • 学习前端的知识总结11
    1.浮动和标准流的父盒子搭配:先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置2.一个元素浮动了,理论其余的兄弟元素也要浮动:一个盒子里面有多个子盒子,如果其中一个盒子浮动了,那么其他兄弟也应该浮动,以防止引起问题。浮动的盒子只会影响浮动盒子后面的......
  • 学习前端的知识总结12
    8.定位浮动可以让多个块级盒子一行没有缝隙排列显示,经常用于横向排列盒子。定位则是可以让盒子自由的在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒子。1.定位组成:定位︰将盒子定在某一个位置,所以定位也是在摆放盒子,按照定位的方式移动盒子。定位=定位模......
  • 机器学习_回归算法详解
    机器学习中的回归算法用于预测连续数值输出(目标变量),通过学习输入特征(自变量)与目标变量之间的关系。以下详细介绍几种常见的回归算法及其工作原理,并提供相应的代码示例。1.线性回归(LinearRegression)1.1简介线性回归是最简单、最常用的回归算法之一,假设目标变量(y)......
  • [机器学习] 低代码机器学习工具PyCaret库使用指北
    PyCaret是一个开源、低代码Python机器学习库,能够自动化机器学习工作流程。它是一个端到端的机器学习和模型管理工具,极大地加快了实验周期,提高了工作效率。PyCaret本质上是围绕几个机器学习库和框架(如scikit-learn、XGBoost、LightGBM、CatBoost、spaCy、Optuna、Hyperopt、Ray等)的......
  • 【机器学习算法】回归算法(上)
    本文介绍几种常见的线性回归算法目录线性回归和多元线性回归多项式回归与一般的线性回归鲁棒回归过拟合与正则化Lasso回归Ridge回归线性回归和多元线性回归        线性回归是一种统计学方法,用于建立一个或多个自变量(解释变量)与一个因变量(响应变量)之......
  • 2024云购源码/运营版/一元购源码/一元夺宝源码/指定中奖/机器人自动购买
     一元云购系统源码,稳定运行已多年无BUG,送真实玩家数据助力快速经营云购演示站:http://zhuye.6323g.com/   ......
  • Servlet的三种创建方式和生命周期
            Servlet是ServerApplet的简称,是用Java编写的是运行在Web服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可......
  • 机器学习——关于SVM的些许问题的个人思考
    最近在利用python对机器学习进行实践,因为之前我是先完整的刷了一遍周志华老师的《西瓜书》才开始的实践活动,因此,时间跨度很久,以至于对于SVM的相关理论有些生疏了,甚至关于SVM的一些之前没注意到的问题,现在暴露了出来,所以这篇文章主要是想跟大家分享一下个人关于SVM的一些令人纠......
  • 机器学习python实践中对于决策函数(decision_function)的一些个人思考
    最近在利用python进行实践训练,但是跟着参考书学习到SVM的时候,示例代码里突然出现了一个函数——decision_function(),让我很懵逼,帮助文档里的英文翻译过来说啥决策函数、ovr、ovo之类的,让我整个人更晕了,因为我在理论部分参考的是周志华老师的《西瓜书》,而《西瓜书》中并没有对这......