`
thecloud
  • 浏览: 953814 次
文章分类
社区版块
存档分类
最新评论

大端法与小端法简介及应用

 
阅读更多

数据在 内存 中的 存储顺序 都是 从 低地址 向 高地址 存储的 (首地址 指 编号较少的 地址编号
例 存储 4个char (a1, a2, a3, a4),则 第一个到 第四个 所占的 存储空间地址 依次为 0x101, 0x102, 0x103, 0x104
大端法 ,小端法 指的是 多字节的数据(int,float)在内存中 所占空间的 地址顺序
x (int)位于 0x100 (指 首地址的编号 )处,其值 0x01234567 所在 地址空间为 0x100~0x103 的字节
大端法 0x100 0x101 0x1020x103 (高位 在 首地址处,即编号较少的地址空间) (IBM,SUN 大型机 大部分)
01 23 4567
小端法 67452301 (低位 在 首地址处,即编号较少的地址空间) (intel 等pc机 大部分)


测试代码

#include <stdio.h>

typedef unsigned char *byte_pointer;

void show_byte(byte_pointer str, int len)
{
	int i;
	for(i = 0; i < len; i++)
		printf("%c", str[i]);
	printf("end\n");
}

void show_int(int num)
{
	show_byte((byte_pointer)&num, sizeof(int));
}

int main()
{
	int i = 98;
	byte_pointer str = "good day";
	show_byte(str, 8);
	show_int(97);
	show_int(24930);	

	return 0;
}

结果:

good dayend

a end

ba end

b end


为了便于观察字符的内存分布,添加了"end"


show_int(97);

由小端法知 97在4字节在内存的分布 从低位到高位 为 97 0 0 0

结果 a end 可看出,字符串打印从 指针所指地址 (变量的低位地址为起始地址)开始打印

同理

show_int(24930); 24930 对应 4字节十六进制 0x00006162 0x61 (97)为'a'的 ansic码, 0x62(98)为'b'的 ansic码

其内容分布 从低位到高位为 98 97 0 0

所以结果为 ba end


结论:小端法在内存中分布 将数据最低有效为放在内存的低地址

数据的访问 从地址空间的低地址开始,向高地址访问

分享到:
评论

相关推荐

    大端(Big Endian)与小端(Little Endian)简介

    ### 大端与小端表示法详解 #### 一、引言 在计算机科学领域,数据的存储方式是一项基础而重要的技术。对于大于255(即超过一个字节)的整数,需要多个字节来进行存储。这些字节如何在内存中排列,涉及到两种主要的...

    基于大端法、小端法以及网络字节序的深入理解

    总结来说,字节序是计算机处理多字节数据的一种方式,大端法和小端法各有其应用场景。网络字节序作为一种通用标准,确保了跨平台的数据交换能够正确进行。在实际编程中,尤其是在涉及网络通信的场景下,理解字节序和...

    大端(Big_Endian)与小端(Little_Endian)简介

    ### 大端与小端表示法详解 #### 一、概念定义 在计算机科学领域,大端(Big Endian)与小端(Little Endian)指的是数据(特别是多字节整数)在内存中存储时的字节顺序。这两种表示方法主要应用于不同类型的计算机...

    stm32 crc32校验程序 支持32位int整型字节对齐 大小端

    小端(Little-Endian)系统将最低有效字节存储在最低地址,而大端(Big-Endian)系统则相反,将最高有效字节放在最低地址。在实现CRC32校验时,必须考虑这种字节序差异,确保在不同平台上的兼容性。程序应该能够识别...

    3.信息的表示和处理(上)1

    例如,整数12345在不同机器上的字节表示可能为39 30 00 00(大端法)或00 00 30 39(小端法)。 总结来说,本部分内容介绍了计算机如何表示和存储信息,尤其是整数,以及虚拟地址空间的概念。字长决定了地址空间的...

    深入理解计算机系统(原书第2版)

    - **大端法**:与小端法相反,大端法中高字节数据存储在低地址处,低字节数据存储在高地址处。同样的例子中,0x12会被存储在较低的地址位置,而0x34则存储在较高的地址位置。 了解这些基本概念对于编写高效且兼容性...

    CRC校验总结 个人总结 包括源码

    对于不同的字节流顺序,CRC的计算方法也会有所不同,例如小端序和大端序。小端序是指数据的低位字节在前,高位字节在后,而大端序则相反。 计算CRC的方法主要有几种: 1. 直接计算:通过执行多项式除法的每一步,...

    深入理解计算机系统复习参考 (1).docx

    例如,一个十六进制值0x01234567在大端法中从0x100开始的地址分布为0x01 0x23 0x45 0x67,而在小端法中则是0x67 0x45 0x23 0x01。字符由于只有一个字节,因此不涉及字节序问题,ASCII码存储时需注意十六进制输出的...

    深入理解计算机系统复习参考.pdf

    字节序分为大端法(Big-Endian)和小端法(Little-Endian),主要应用于多字节数据类型如整数、浮点数等在内存中的存储。大端法遵循“高位优先”,即最高有效字节存放在最低地址,而小端法则相反,将最低有效字节...

    浮点数与4字节数值相互转换工具

    需要注意的是,不同的计算机架构可能有不同的字节顺序(比如大端序和小端序),这会影响浮点数如何在内存中存储和解析。因此,在进行跨平台数据交换时,需要考虑字节序问题,确保正确解读4字节数值。 总的来说,...

    16版自考02318计算机组成原理重点总结提纲有(已排版).pdf

    8. **数据存储顺序**:大端法和小端法决定了数据在内存中的存储顺序,大端法将高有效位放在低地址,小端法则反之。 9. **数码校验**:奇偶校验、海明校验和CRC码用于检测数据传输或存储中的错误。奇偶校验简单但...

    ARM9嵌入式期末考试要点整理.pdf

    存储器系统可以分为大端存储法和小端存储法两种。大端存储法是高字节数据存放在内存低地址处,低字节数据存放在内存高地址处。而小端存储法是低字节数据存放在内存低地址处,高字节数据存放在内存高地址处。 RTOS ...

    ARM系列处理器应用技术完全手册 第三章

    ARM处理器支持大端模式(big-endian)和小端模式(little-endian)两种内存访问模式。 - **大端模式**: 在大端模式下,高地址处存放的是数据的高位。例如,对于一个32位的数据,最高有效字节将位于较高的内存地址。 - *...

    Java虚拟机简介.pdf

    5. 大端字节序(bigendian)和小端字节序(littleendian):在计算机中,不同硬件平台可能会有不同的字节序表示法。JVM规范了字节码使用大端字节序,但当字节码运行在小端字节序的CPU上时,可能需要进行适当的转换。 6....

    局域网通信工具(源码)

    1. **网络编程基础**:包括IP地址、端口号、网络字节序(大端法/小端法)等基本概念。 2. **Socket API**:熟悉如何创建Socket、绑定地址、监听连接、接受连接和发送/接收数据。 3. **异常处理**:了解如何处理网络...

    北京光桥科技有限公司面试题_嵌入式-常用知识&面试题库_大厂面试真题.doc

    4. **大小端问题**:大小端表示法是指数据在内存中的存储方式,分为大端模式(高字节在前)和小端模式(低字节在前)。面试中可能会要求你解释如何判断一个系统是大端还是小端,并通过编程示例说明不同类型的变量...

    车工工艺学期末考试题一.doc

    2. 圆锥的基本参数包括**圆锥角α**、**大端直径D**、**小端直径d**、**圆锥长度L**。这些参数决定了圆锥的形状和尺寸。 3. 当圆锥的半角 α/2 小于6°时,可以使用公式 α/2 ≈ **0.109L/D** 进行近似计算,其中 L...

    计算机结构 实验1

    在小端法(little-endian)机器上运行返回1,而在大端法(big-endian)机器上运行返回0。字节序是指多字节数据在内存中的存储顺序,小端法是低位字节存储在低地址,大端法则是高位字节在低地址。 2. 修改并运行 `...

    ST32堆栈测试代码

    在大端模式(Big-Endian)中,数据的最高有效字节存储在最低地址,而小端模式(Little-Endian)则相反,最低有效字节存储在最低地址。测试代码通常会创建一个具有已知字节顺序的多字节数据,然后读取并比较这些字节...

    计算机408真题及答案2009-2019.pdf

    4. 大端与小端存储方式的区别,以及基址寻址方式下操作数的实际物理地址计算。 五、计算机体系结构 1. 处理器时钟脉冲信号的来源、时钟周期和主频的关系。 2. 指令的执行与处理器时钟脉冲的关系。 六、程序设计...

Global site tag (gtag.js) - Google Analytics