Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57260
  • 博文数量: 21
  • 博客积分: 1440
  • 博客等级: 上尉
  • 技术积分: 180
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-25 14:47
文章分类

全部博文(21)

文章存档

2010年(9)

2009年(12)

我的朋友

分类: LINUX

2009-09-01 23:15:37

测试所在平台是大端还是小端存储模式。
 
typedef unsigned char *pointer;
 
void big_or_small_end(pointer start,int len)
{
   int i;
   
   for(i = 0; i < len; i++)
   {
      printf("0x%p\t 0x%d\n",start++, start[i]);
      printf("\n");;
   }
 
}
 
int main()
{
   int i = 0x12345678;
 
   big_or_small_end(pointer &i, sizeof(int));
  
   return 0;
 
}
 
大端模式即高位地址存低位数据, 低位地址存高位数据;小端模式为高位存高位,低位存低位.
 
这个题目在面试过程中经常出现,但像上面的实现还是有所欠缺,判断大小端的接口函数应该返回BOOL类型的
 
值,可以约定返回TRUE为大端,返回FALSE为小端,这样才是标准的接口的实现.
 
由于本人只是下班后只能抽出一点时间,加上些客观原因,有兴趣的话可以自己实现.
阅读(819) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~