小端机器数据在内存中的存储
来源:互联网 发布:淘宝代销怎么做 编辑:程序博客网 时间:2024/06/09 19:44
#include <iostream.h>#include <iomanip.h>union Num{ char a[4]; int b; };void main() { Num x; x.a[0]=‘A’; x.a[1]=‘B’; x.a[2]=‘C’;x.a[3]=‘D’;cout<<x.a<<endl; cout<<x.b<<endl;cout<<hex<<x.b<<endl; }
输出结果:ABCD?<>捡114525856144434241
(1)连结体 x在像LZ这样的程序赋值之后,在小端机 内从的存储状况(16进制)如下:
41 42 43 44,在输出x.b即将这四个字节以整数输出,由于是小段存储,则其对应的整数是0x 44434241,其
对应的十进制为1145258561
(2)当输出数组时,是将数组名所指向的地址逐个字符输出,知道遇到'\0',x.a是一个字符数组,但是C风格
字符串,C风格字符串是以‘\0’结尾的字符串,所以输出x.a时会出现乱码。
(3)如果LZ这样修改代码,则输出正常
#include <iostream.h>#include <iomanip.h>union Num{ char a[4]; int b; };void main() { Num x;x.a[0]='A';x.a[1]='B';x.a[2]='C';x.a[3]='D';x.a[4]='\0';//利用数组越界,但是比较危险cout<<x.a<<endl;cout<<x.b<<endl;cout<<hex<<x.b<<endl; }
- 小端机器数据在内存中的存储
- 数据在内存中的存储
- 数据在内存中的存储
- 数据在内存中的存储
- 变量在内存中的存储方式-----“大端”和“小端”
- java中数据在内存中的存储
- 基本类型数据在内存中的存储
- float数据在内存中的存储方法
- 数据在内存中的存储方式
- float数据在内存中的存储方法
- float数据在内存中的存储方法
- 数据在内存中的存储方式
- float数据在内存中的存储方法
- java中数据在内存中的存储
- float数据在内存中的存储方法
- float数据在内存中的存储方法
- float数据在内存中的存储方法
- float数据在内存中的存储
- JAVA学习与总结(一)
- Android学习路线---写的很好 【mars论坛转过来的】
- 公式前显示 _xlfn. 前缀
- uva 10163 Storage Keepers
- Android歌词秀1.5版
- 小端机器数据在内存中的存储
- cygwin编译的win32程序不需要cygwin1.dll库的方法(3)
- 读《浪潮之巅》文摘
- 查看gcc所定义的所有预定义宏
- spring ServletConfig() 或者ServletContext 不存在解决方案
- 360的用户好好的看一下哦》》》》《《《《
- 黑马 基础加强部分
- JavaScript学习(二)
- 编译器预定义宏