计算机的大端模式和小端模式
2015-11-14 21:47
225 查看
大端模式和小端模式指的是我们计算机的存储数据的方通常又称为大尾和小尾。
大端:数据的高字节保存在内存的高地址
小端:数据的高字节保存在内存的低地址
下面是两种方式的示意图
![](http://img.baidu.com/hi/jx2/j_0047.gif)
![](http://s5.51cto.com/wyfs02/M01/76/01/wKiom1ZHOmfxD7nGAAAlN196Vlw402.png)
堆栈指针寄存器SP的走向从SP到SP+3(SP始终指向栈顶)
知识链接:
断点和现场保护:这是堆栈的主要功能 保护断点指主程序调用子程序或执行中断服务程序的时候,为了能在子程序或者中断服务程序执行完之后顺利的返回主程序,必须将断点处的有关信息压入堆栈,执行完子程序后再按照先进先出的原则将其pop出来回复有关寄存器的内容,使得主程序能够顺利的执行,一般断点保护由系统自动完成无需人为干预。
根据上面的图,咱们可以设计一个程序来测试计算机是大端还是小端模式。
![](http://img.baidu.com/hi/jx2/j_0051.gif)
大端:数据的高字节保存在内存的高地址
小端:数据的高字节保存在内存的低地址
下面是两种方式的示意图
![](http://img.baidu.com/hi/jx2/j_0047.gif)
![](http://s5.51cto.com/wyfs02/M01/76/01/wKiom1ZHOmfxD7nGAAAlN196Vlw402.png)
堆栈指针寄存器SP的走向从SP到SP+3(SP始终指向栈顶)
知识链接:
断点和现场保护:这是堆栈的主要功能 保护断点指主程序调用子程序或执行中断服务程序的时候,为了能在子程序或者中断服务程序执行完之后顺利的返回主程序,必须将断点处的有关信息压入堆栈,执行完子程序后再按照先进先出的原则将其pop出来回复有关寄存器的内容,使得主程序能够顺利的执行,一般断点保护由系统自动完成无需人为干预。
根据上面的图,咱们可以设计一个程序来测试计算机是大端还是小端模式。
![](http://img.baidu.com/hi/jx2/j_0051.gif)
int test(void) { int arr=0x65bc225d; scanf_s("%d",&arr); char *p=(char *)&arr;//指针p指向arr的地址; if(*p == 0x65) retrun 1; else return 0; }我们还可以使用联合来测试机器的字节序
void check() { union UN { int c;//4字节 char i;//1个字节 } UN.c=1; if(UN.i==1) printf("little!"); else printf("big!"); }
相关文章推荐
- Android网络优化4--写一个网络请求模板
- python复杂网络库networkx:基础
- python复杂网络库networkx:基础
- 嵌入式底层软件开发学习系列之二计算机相关课程
- C++数据结构: 链表
- django的HTTPREQUEST对象
- 无线网络方案
- 【TCP/IP协议】四层协议系统
- SDUT OJ数据结构实验之二叉树三:统计叶子数
- SDUT OJ 数据结构实验之二叉树二:遍历二叉树
- SDUT OJ 数据结构实验之二叉树五:层序遍历
- 网络采集器Demo:Jsoup+Java多线程实现[爬虫](下)
- HttpClient在Android网络通信中的应用
- SDUT OJ 数据结构实验之二叉树七:叶子问题
- 10010---JavaWeb基础--HttpServlet
- 第126讲:Hadoop集群管理之Datanode目录元数据结构详解学习笔记
- MOOC课程作业http://mooc.study.163.com/course/USTC-1000002006
- iOS9的网络请求简述
- Java中常用数据结构的实现类 Collection和Map
- “App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. T