【C语言】大小端判断

  • 小端模式: 数据的低位字节存储在内存的低地址处

    例如:整数 0x12345678 在内存中存储为 0x78 0x56 0x34 0x12

  • 大端模式: 数据的高位字节存储在内存的低地址处

    例如:整数 0x12345678 在内存中存储为 0x12 0x34 0x56 0x78

方法1,联合体(最常用)

c 复制代码
#include <stdio.h>

int main() {
    union {
        int i;
        char c;
    } u;
    
    u.i = 1;
    
    if (u.c == 1) {
        printf("小端模式\n");
    } else {
        printf("大端模式\n");
    }
    
    return 0;
}

方法2

c 复制代码
#include <stdio.h>

int main() {
    int num = 1;
    char *p = (char*)&num;
    
    if (*p == 1) {
        printf("小端模式\n");
    } else {
        printf("大端模式\n");
    }
    
    return 0;
}
相关推荐
浅念-5 小时前
递归解题指南:LeetCode经典题全解析
数据结构·算法·leetcode·职场和发展·排序算法·深度优先·递归
Kiling_07045 小时前
Java集合进阶:Set与Collections详解
算法·哈希算法
智者知已应修善业6 小时前
【51单片机89C51及74LS273、74LS244组成】2022-5-28
c++·经验分享·笔记·算法·51单片机
夏日听雨眠6 小时前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
洛水水6 小时前
【力扣100题】33.验证二叉搜索树
算法·leetcode·职场和发展
SimpleLearingAI6 小时前
聚类算法详解
算法·数据挖掘·聚类
刀法如飞7 小时前
Go 字符串查找的 20 种实现方式,用不同思路解决问题
算法·面试·程序员
qq_542515418 小时前
Ubuntu 22.04.4 LTS安装ToDesk最新版打不开,无响应?旧版本4.7.2_277版本分享
linux·ubuntu·todesk
火车叼位8 小时前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
小麦嵌入式8 小时前
FPGA入门(四):时序逻辑计数器原理与 LED 闪烁实现
linux·驱动开发·stm32·嵌入式硬件·fpga开发·硬件工程·dsp开发