大小端概述,验证、转换方法,常见单片机、CPU、系统、文件模式

1、大小端模式概述

举个例子:0x87 65 43 21 在内存 0x20 00 00 00 中的表示形式。

1)大端模式(Big-Endian):高位字节 排放在内存的 低地址,低位字节排放在内存的高地址。

(其实大端模式才是我们直观上认为的模式,和字符串存储的模式差类似)

低地址 ----------------------------------------------------------------------------------------------------------------> 高地址

内存地址0x20 00 00 000x20 00 00 010x20 00 00 020x20 00 00 03
内容0x870x650x430x21

2)小端模式(Little-Endian):低位字节 排放在内存的 低地址,高位字节排放在内存的高地址。

低地址 ----------------------------------------------------------------------------------------------------------------> 高地址

内存地址0x20 00 00 000x20 00 00 010x20 00 00 020x20 00 00 03
内容0x210x430x650x87

2、大小端模式测试验证函数

#include <stdio.h> //库头文件
 
/**
  ******************************************************************************
  * @brief   主 函数
  * @param   None
  * @return  None
  * @note    测试CPU大小端模式
  ******************************************************************************
  */
void main(void)
{
	short int tmp;
    unsigned char *p;
//** *************************************
	tmp = 0x1234;
    p = (unsigned char *)&tmp;    
    if(*p == 0x34)
    {
        printf("小端模式\r\n"); //最低字节,首先存储低地址。
    }
    else //(*p == 0x12)
    {
        printf("大端模式\r\n"); //最高字节,首先存储低地址。
    }
}

3、大小端模式优缺点

小端模式 :强制转换数据不需要调整字节内容,1、2、4字节的存储方式一样。
大端模式 :符号位的判定固定为第一个字节,容易判断正负。

4、常见大小端模式

类别大小端
操作系统小端
通讯协议大端
CPU大小端
PowerPC、IBM、Sun大端
x86、DEC小端
ARM可小端,也可大端
STM32单片机小端
C51单片机大端
文件格式大小端
Adobe PS大端
DXF(AutoCAD)可小端,也可大端
BMP小端
GIF小端
JPEG大端
MacPaint大端
RTF小端

5、大小端模式转换

https://blog.csdn.net/weixin_46672094/article/details/122524919

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值