博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据的大端小端表示法
阅读量:2385 次
发布时间:2019-05-10

本文共 597 字,大约阅读时间需要 1 分钟。

在32位小端的机器上,如下代码输出是什么:
char array[12] = {0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08};      short *pshort = (short *)array;      int *pint = (int *)array;      int64 *pint64 = (int64 *)array;      printf("0x%x , 0x%x , 0x%llx , 0x%llx", *pshort , *(pshort+2) , *pint64 , *(pint+2));
 
 小端机器的数据高位字节放在高地址,低位字节放在低地址。x86结构为小端模式。
pshort占用2个字节,在内存中的16进制为0x01 0x02,对应的16进制数为0x0201。
pshort + 2指向array数组的下标为4的元素,占用2个字节,在内存中的16进制为0x05 0x06,对应的16进制数为0x0605。
pint64的int64类型不确定,但根据名字可以看出占用8个字节,对应的16进制形式为0x807060504030201。
pint  + 2占用4个字节,指向的array数组的下标为8的元素,8-11个元素没有指定数组的初始化值,默认为0,因此*(pint + 2)对应的16进制为0。

转载地址:http://jxnab.baihongyu.com/

你可能感兴趣的文章
慎用VC 6.0
查看>>
游戏杆编程心得
查看>>
周例会的作用
查看>>
字符集研究之多字节字符集和unicode字符集
查看>>
字符集研究之不同字符集的转换方式
查看>>
一个应用程序无法启动错误的解决过程
查看>>
除虫记——有关WindowsAPI文件查找函数的一次压力测试
查看>>
Incredibuild导入key的方式
查看>>
跨平台C++开源代码的两种常用编译方式
查看>>
Eclipse的搜索技巧
查看>>
centos常用命令二
查看>>
通过修改kong属性解决不能获取外网域名的问题
查看>>
Eclipse带命令行参数调试
查看>>
php smtp发送邮件
查看>>
yii框架的404、500等异常处理
查看>>
yii框架在layout模式下,模版和layout文件的渲染顺序
查看>>
php5对象复制、clone、浅复制与深复制
查看>>
php设计模式
查看>>
git与github在ubuntu下的使用
查看>>
css pie.htc使用总结
查看>>