专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 驱动开发

请教ASCII对应值在内存中存放的二进制码形式,究竟与大尾字节系统或者小尾有关系么?

发布时间:2010-06-14 16:37:23 文章来源:www.iduyao.cn 采编人员:星星草
请问ASCII对应值在内存中存放的二进制码形式,究竟与大尾字节系统或者小尾有关系么??
比如说ASCII值为0x45(01000101),那么在内存中的表现形式,是否是在小尾字节系统中就是10100010,而在大尾字节系统中就是01000101??
------解决方案--------------------
一个字节一般为基本数据单位,在big 或small 端系统里,其内容都一样,即bit位的数据都一样。只有在大于一个字节的数据时大小端系统里其数据顺序有区别。比如0x12345678,32bit数据在小端系统中为0x78,0x56,0x34,0x12(地址从小到大排序),在大端系统中为0x12,0x34,0x56,0x78(地址从小到大排序)
------解决方案--------------------
比如说ASCII值为0x45(01000101),那么在内存中的表现形式,无论大尾字节系统还是小尾字节系统中都是01000101(bit7~bit0)。
------解决方案--------------------
小端格式 :字数据的低字节存储在低地址中,而字数据的高字节存储在高地址中
大端格式 :字数据的低字节存储在高地址中,而字数据的高字节存储在低地址中
系统的大小端格式可以通过编写简单测试程序知道,例如LINUX系统就是小端格式,下面代码的输出是22,21
#include <stdio.h>
int main()
{
 short int a=0x1122;
 char  x0,x1;
 x0=((char*)&a)[0];
 x1=((char*)&a)[1];
printf("%0x\n",x0);
printf("%0x\n",x1);
 return 0;

}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: