Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > 其他编程语言 > big endian vs little endian
【标  题】:big endian vs little endian
【关键字】:big,endian,vs,little,endian
【来  源】:http://www.cnitblog.com/zfly/archive/2006/09/21/17156.html

big endian vs little endian

Your Ad Here

// 测试2平台的 byte order, 经实测的结果见注释:供 porting code ?分析参考

// x86 platform

#include "stdafx.h"
#include "stdio.h"

int main(int argc, char* argv[])
{
?long int str[2] = {0x41424344, 0x0}; /* ASCII "ABCD" */

?struct
??? {
????? unsigned short y;
????? unsigned short x;
??? } p;?

??
?? p.x = 0x1234;??
?? p.y = 0x5678;

?? unsigned long *lparam,a;

?? lparam = (unsigned long *)&p;
?? a =? *lparam;

?? printf ("%s\n", (char *)&str);????? ?// x86??? : "DCBA"? PowerPc: "ABCD"?????????????????????????????????
?? printf ("%0x\n", a);??????????????????? ? // x86??? :? 12345678 (打印并非按内存次序)
?? printf ("%0x\n", *((char*)&a+1)); // x86??? :? 56

????????????????????????????????? // powerpc: "ABCD"
????????????????????????????????? // powerpc: 56781234
????????????????????????????????? // powerpc: 78
??????????
?? //? x86:??????????????????????????????????? ???? PowerPc
?? //? &a 内存分配 78 56 34 12?????? 56 78 12 34
?? //? &p 内存分配 78 56 34 12????????????????
?return 0;
}

/*--------*/
/* PowerPC application?test?*/

#include "stdio.h"
#include <sysLib.h>
#include <vxWorks.h>
#include <taskLib.h>

void t1()
{
? long int str[2] = {0x41424344, 0x0}; // ASCII "ABCD"

?struct
??? {
????? unsigned short y;
????? unsigned short x;
??? } p;?

??
?? p.x = 0x1234;??
?? p.y = 0x5678;

?? unsigned long *lparam,a;

?? lparam = (unsigned long *)&p;
?? a =? *lparam;

?? printf ("%s\n", (char *)&str);??
?? printf ("%0x\n", a);?????????
}

int t2()
{

?? long id;
?? id= ?taskSpawn("abc",120,VX_FP_TASK,20000,(FUNCPTR)t1,
???0,0,0,0,0,0,0,0,0,0);
?? return 0;
}

?

一些css写法在FF与IE下的区别:【上一篇】
从ASCII到Unicode(UTF-8):【下一篇】
【相关文章】
  • Oracle 10g vs PostgreSQL 8 vs MySQL 5(转)
  • 在IDEA中集成VSS版本控制
  • 关于CVSNT的Audit plugin
  • vsftp安装配置
  • 使用Jail构建安全的Vsftpd
  • ipvsadm
  • 技巧和诀窍:在VS 2005里使用Vista的IIS7
  • CVS源码编译内核
  • VSFTP安装与配置
  • CVS 入门-使用流程
  • 【随机文章】
  • ASP+SQL Server之图象数据处理
  • informix 安装说明
  • linux下apache+sendmail+openwebmail配置详解
  • 奇趣科技CTO来华推介首个开发型linux手机
  • libpcap系统结构分析
  • 右键魔法:高效注册DLL控件一招
  • 自己编写Email 炸弹
  • 鱼和水的故事--完整版
  • 用True Image 做一个能启动的紧急回复DVD
  • 用Dreamweaver MX+ACCESS制作企业新闻系统
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.