地址内存浅谈一下大小端存储,测试本机的存储方式
改章节个人在广东吃饭的时候突然想到的...近期就有想写几篇关于地址内存的文章,所以回家到之后就奋笔疾书的写出来发布了
一、大端模式:低位字节排放在内存的高地址端,高位字节在内存的低地址端
二、小端模式:低位字节排放在内存的低地址端,高位字节在内存的高地址端
三、一个整型数字,0x12345678在内存里的存储方法,
a 大端模式
0x12 0x 34 0x56 0x78
低地址 → 高地址
b小端模式
0x78 0x 56 0x34 0x12
低地址 → 高地址
大端模式的内存存储与字符串存储相似
四、若肇端地址为0x8000,则0x12345678的存储情况为
内存地址 |
大端方法存储 |
小端方法存储 |
0x8000 |
0x12 |
0x78 |
0x8001 |
0x34 |
0x56 |
0x8002 |
0x56 |
0x34 |
0x8003 |
0x78 |
0x12 |
|
|
|
五、程序判断自己电脑的存储方法
1,使用共用体
union {
int a;
char b;
}num;
num.a=0x12345678;
cout<<hex<<int(num.b)<<endl;
在我的电脑上输出78 可知本机上的存储方法为小端存储
2,使用地址转换
int a=0x12345678;
char b=*(char *)&a;
if(b==0x12)
是大端存储
Else
是小端存储
六、一般操作系统都是小端存储,在通讯协议中一般是大端存储方法
文章结束给大家分享下程序员的一些笑话语录:
手机终究会变成PC,所以ip会比wm更加畅销,但是有一天手机强大到一定程度了就会发现只有wm的支持才能完美享受。就好比树和草,草长得再高也是草,时间到了条件成熟了树就会窜天高了。www.ishuo.cn