当前位置:编程学习 > C/C++ >>

程序测试大小端

1.Big-Endian和Little-Endian的定义如下:
1) Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
2) Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
举一个例子,比如数字0x12 34 56 78在内存中的表示形式为:
1)大端模式:
低地址 -----------------> 高地址
0x12  |  0x34  |  0x56  |  0x78
2)小端模式:
低地址 ------------------> 高地址
0x78  |  0x56  |  0x34  |  0x12
可见,大端模式和字符串的存储模式类似。
2.C语言测试大小端
[cpp] 
#include<stdio.h>  
void  main(void)  
{  
    int a = 0x1234;    
    char b =  *(char *)&a;  //通过将int强制类型转换成char单字节,通过判断起始存储位置。即等于 取b等于a的低地址部分    
    if( b == 0x12)    
    {    
        printf("大端\n");    
    }    
    else  
    printf("小端\n");  
}  
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,