辨别系统是大端模式还是小端模式

#include <iostream>

#include <stdio.h>

 

typedef union{

    unsigned short value;

    unsigned char bytes[2];

}Test;

 

int main(int argc, const char * argv[]) {

    Test test_value;

    test_value.value = 0x1234;

    

    if(test_value.bytes[0] == 0x12 && test_value.bytes[1] == 0x34)

        printf("big ending\n");

    else if(test_value.bytes[0] == 0x34 && test_value.bytes[1] == 0x12)

        printf("little ending\n");

    else

        printf("use test_value error");

    

    int num = 0x12345678;

    char *p = (char *)&num;

    if (p[0] == 0x78) {

        printf("little ending\n");

    } else if(p[0] == 0x12){

        printf("big ending\n");

    }

    printf("%x,%x,%x,%x\n", p[0],p[1],p[2],p[3]);

    return 0;

}

 

 

输出

little ending

little ending

78,56,34,12

转载于:https://my.oschina.net/u/1413984/blog/709640

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值