【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;
}
相关推荐
小张成长计划..18 分钟前
【Linux】27:日志
linux·运维·服务器
本地化文档37 分钟前
llvm-libc-docs-l10n
c语言·github·gitcode·sphinx·llvm·crowdin
别动我齐刘海40 分钟前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人
Lsetea43 分钟前
curl -I检查HTTPS返回405:HEAD、GET与证书验收分层排查
linux·http·https·ssl证书·curl
一直C1 小时前
嵌入式 Linux 驱动开发学习笔记:内核定时器、platform 总线与 I²C 驱动
linux·驱动开发·嵌入式硬件·学习·imx6ull
荆棘鸟智能1 小时前
短历时洪水预报算法实践:水文模型与 LightGBM 残差订正融合
人工智能·算法·机器人
承渊政道1 小时前
Linux网络学习【传输层协议UDP】
linux·网络·网络协议·学习·ubuntu·udp
雯宝1 小时前
usb_serial_init/tty_driver/alloc_tty_driver/tty_register_driver/usb_register
linux
Felven2 小时前
B. Collecting Game
c语言
Felven2 小时前
C. Removing Smallest Multiples
c语言·开发语言