浅谈大端小端

首先,关于这个问题,咱们先来探讨下什么是大端?什么是小端?
首先,大小端所指的是数据存储的方式。
关于大端: 所谓的大端模式,是指数据的低字节保存在内存的高地址中,而数据的高字节,保存在内存的低地址中;
关于小端: 所谓的小端模式,是指数据的低字节保存在内存的低地址当中,而数据的高字节,保存在内存的高地址当中


首先,我们要理解在内存中的地址是由低地址到高地址

在这张图我们可以清楚的知道所谓的大小端问题,是大端还是小端就决定了最后尾端放高地址还是低地址。大端模式将高位存放在低地址,小端模式将低位存放在高地址。


为什么会有大小端之分呢?
在计算机系统中,我们都是以字节为单位,每一单位地址就会对应一个字节,一个字节为8位。但是在C语言中,还有4个字节的int,2个字节的short等等,所以必然存在了一个字节分配的问题,也就导致了大端小端问题的产生。
比如对于单片机开发的keil C51,就是利用大端模式,而DSP,ARM即使利用小端模式。
对于我们来说,大端模式更容易理解,而小端模式对于计算机来说更好处理。另外,不同的处理器也会有不同的模式。


对于大小端的记忆方式,我们姑且可以记为:
大端值与地址增长方式相同,小端值与地址增长方式相反。



这里有一道题让大家来体会
浅谈大端小端_第1张图片

在这里我们采用小端模式,最后 输出的是3839



你可能感兴趣的:(C语言)