【Linux编程】用c语言判断大小端

大端:高位字节存在内存底地址,低位字节存在内存高地址。

小端:高位字节存在内存高地址,低位字节存在内存底地址。

例如:一个十六进制0x0102,若高字节0x01存在内存底地址并且底字节0x02存在内存高地址,则此机器为大端。反之为小端。

int main(){
    short i = 0x0102;//十六进制,高字节为1,底字节为2。 
    char t[2];//t[0]在内存底地址,t[1]在内存高地址。 
    
	/*取i的指针&i,将这个指针转为char*型,依次取出i的每个字节的值。*/ 
    t[0] = *((char*)&i+0); 
    t[1] = *((char*)&i+1);
    
    if(t[0]==1&&t[1]==2)
        printf("大端!\n");
    else if(t[0]==2&&t[1]==1)
        printf("小端!\n");
    else
        printf("......\n");
        
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值