计算机的大端模式和小端模式

原创 2016年05月30日 13:34:38

大端模式和小端模式指的是我们计算机的存储数据的方通常又称为大尾和小尾。

大端:数据的高字节保存在内存的高地址

小端:数据的高字节保存在内存的低地址

下面是两种方式的示意图j_0047.gif

wKiom1ZHOmfxD7nGAAAlN196Vlw402.png

堆栈指针寄存器SP的走向从SP到SP+3(SP始终指向栈顶)

知识链接:

     断点和现场保护:这是堆栈的主要功能 保护断点指主程序调用子程序或执行中断服务程序的时候,为了能在子程序或者中断服务程序执行完之后顺利的返回主程序,必须将断点处的有关信息压入堆栈,执行完子程序后再按照先进先出的原则将其pop出来回复有关寄存器的内容,使得主程序能够顺利的执行,一般断点保护由系统自动完成无需人为干预。

根据上面的图,咱们可以设计一个程序来测试计算机是大端还是小端模式。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!"); 
  }


版权声明:本文为博主原创文章,未经博主允许不得转载。

大端模式与小端模式的详解分析

大端序与小端序 何为大端序,小端序? 简单点说,就是字节的存储顺序,如果数据都是单字节的,那怎么存储无所谓了,但是对于多字节数据,比如int,double等,就要考虑存储的顺序了。注意...
  • bzhxuexi
  • bzhxuexi
  • 2014年08月29日 16:20
  • 2388

判断CPU是大端模式还是小端模式

//判断CPU是大端模式还是小端模式 #include using namespace std; //1、同一个内存段可以用来存放几种不同类型的成员, //但是在每一瞬间只能存放其中的一种,而不是同...
  • myth_HG
  • myth_HG
  • 2015年09月11日 19:53
  • 651

大端模式和小端模式转化

在工作中遇到一个问题,数据是以大端模式存储的,而机器是小端模式,必须进行转换,否则使用时会出问题。 一、定义: 大端模式(Big Endian):数据的高字节,保存在内存的低地址中;数据的低字节,保存...
  • szchtx
  • szchtx
  • 2015年01月18日 12:20
  • 15613

大端模式、小端模式和网络字节顺序【转】

这里转载一片文章,通过这篇文章我了解了转换成网络字节顺序的意义,以前在作TCP/IP通信的时候对于htonl()函数不是很理解,现在知道了,原来我们普通的x86体系结构都是小端模式,而网络传输要求的是...
  • shan275
  • shan275
  • 2016年05月07日 14:50
  • 576

C实现当前机器模式是大端还是小端

声明:本文是在32位机器,vs2013下运行无误 大小端背景: 大小端这一词最早是来自《格列夫游记》,书中记录有一个村子,村子里的人有一个强烈的争议,关于吃鸡蛋的时候应该从小头敲破鸡蛋(Littl...
  • double_happiness
  • double_happiness
  • 2017年05月09日 17:38
  • 591

浅谈大端模式和小端模式

什么是大端和小端 1) Little-Endian(小端)就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。 2) Big-Endian(大端)就是高位字节排放在内存的低地址端,低位...
  • element137
  • element137
  • 2017年04月04日 17:08
  • 135

如何测试你的系统是大端还是小端模式

我们先来看看为什么会有大小端之分呢? 在计算机系统中,规定:每个地址单元都会对应一个字节(8个bit),但是,在c语言中,除了有一个字节(8个bit)的char,也有 两个字节(16个bit)的s...
  • qq_34992845
  • qq_34992845
  • 2016年11月26日 14:25
  • 299

计算机大端模式和小端模式 内存对齐问题(sizeof)

一、大端模式和小端模式的起源         关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个...
  • yangcs2009
  • yangcs2009
  • 2014年09月30日 19:08
  • 3133

C语言判断数据存储时大端模式还是小端模式

用C语言写程序时需要知道是大端模式还是小端模式。所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位...
  • xxqi1229
  • xxqi1229
  • 2010年05月23日 02:39
  • 9665

什么是大小端模式,写个程序判断本机是大端还是小端模式

面试常见问题:什么是大小端?写个程序判断本机是大端格式还是小端格式?先来简单的讲下什么是大小端模式,以及两个模式的区别:所谓大小端模式就是存储数据时,数据的高低位怎么存储在地址的高低位上。(位指的是b...
  • YuZhiHui_No1
  • YuZhiHui_No1
  • 2014年08月09日 15:11
  • 2981
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:计算机的大端模式和小端模式
举报原因:
原因补充:

(最多只允许输入30个字)