【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;
}
相关推荐
非优秀程序员9 小时前
第05章 播放器大战,暴风、快播与那一夜|《互联网产品恩仇录》
算法
默|笙10 小时前
【Linux网络】网络层协议 IP(1)理解报头、网段划分
linux·网络·tcp/ip
沐晓时光10 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
修己xj13 小时前
nslookup 使用指南:两种模式与常用查询技巧
linux
Zwawa14 小时前
C语言函数指针与宏实战:从回调、表驱动菜单到X-Macro,讲透嵌入式代码解耦
c语言·单片机·嵌入式
唠玖馆15 小时前
文件系统详解
linux·文件系统·ext2
GeW15 小时前
当Linux内核开始“确定性”,制造高端化才有了底层语法
linux
武子康16 小时前
驾驶轨迹换个坐标,就能给移动机器人用吗?
人工智能·算法·机器学习
David猪大卫16 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习