`
kmplayer
  • 浏览: 508765 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

大小端对应字节, 注意和一个字节内位序的区分

阅读更多
1,一个例子:
#include <stdio.h>

union
{
     struct s
     {
         unsigned X1:2; //8bit的低2位
         unsigned X2:3;
         unsigned X3:3; //8bit的高3位
     }S;
     char c;
}X;
// 01100100
int main()
{
     X.c = 100;
     printf("%x\n", X.c);
     printf("%d\n", X.S.X3);
     //注:这里考察的是字节内的位序
     //大小端的最小粒度是字节.
     return 0;
}
分享到:
评论

相关推荐

    字节序与位序

    例如,在一个 32 位整数中,将最高位字节存储在地址 0x00000000,接着是下一个字节,依次类推。小端字节序则是将多字节整数的最高位字节存储在最高位字节地址的方法。例如,在一个 32 位整数中,将最高位字节存储在...

    判断CPU大小端模式的经典方法

    总结来说,CPU的大小端模式是一个重要的基础概念,它影响着程序编写和系统设计。在进行跨平台开发或硬件接口编程时,正确地识别和处理数据的字节序能够避免程序运行的错误和数据交换的问题。通过上述两种经典方法,...

    bit位序变换

    在VS2010环境下,我们可以编写一个函数来实现位序颠倒,这个函数可以接受一个整数作为输入,返回位序颠倒后的结果。例如,我们可以利用异或操作符`^`和左移`和右移`&gt;&gt;`来实现位序颠倒: ```c int reverseBits(int ...

    crc8.rar_CRC8单字节校验8421_crc8_subroutine crc

    压缩包内的"CRC_8.c"很可能是一个C语言编写的CRC8算法实现,其中可能包含了定义生成多项式、初始化CRC寄存器、按位处理输入数据并计算CRC值的函数。这样的函数通常被设计为子程序,可以方便地嵌入到其他项目中,用于...

    c#小工具,位序批量转换工具,hex到hex

    它由0-9的阿拉伯数字和A-F的字母组成,每四位表示一个字节,方便人类理解和处理二进制数据。 2. **位序(Bit Position)**:在二进制数据中,每一位都有一个特定的位置,称为位序。位序决定了位的权重,例如二进制...

    以太网MAC协议.pdf

    多字节域的各个字节按第一个到最后一个(即从左到右)的顺序发送,而每个字节采用小端位序传送。 3. 以太网地址 以太网地址是一个指明特定站或一组站的标识。以太网地址是6 字节(48 比特)长。图 1 说明了以太网...

    swap_io.rar_swap

    描述中的“大小字节转换”进一步明确了这一点,它指的是在大端字节序(Big-Endian)和小端字节序(Little-Endian)之间进行转换的过程。 大端字节序和小端字节序是两种不同的字节存储方式。大端字节序中,最高位...

    计算机网络课后习题.pdf

    注意,每个ESC和FLAG之前都添加了一个ESC。 3. 起始和结束标志字节,带位填充(c):这种方法同样使用FLAG来标识帧的边界,但为了避免连续的5个1(这可能会导致误判为填充位),会在5个连续1的后面插入一个0。对于...

    CRC校验,高位在前,低位在后.zip

    例如,在该压缩包中的"CRC"文件可能包含了一个实现CRC16校验的示例代码,演示如何根据上述步骤生成和验证CRC码。通过理解和使用这样的代码,开发者能够更好地理解CRC校验的工作原理,并将其应用于自己的项目中,提高...

    C语言实现逆位序建链表实现插入删除功能

    在数据结构领域,链表是一种基础且重要的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。逆位序建链表是一种特殊的链表构造方式,它的特点是新插入的元素被放在链表的头部,而不是尾部,这...

    电气控制与PLC技术7.ppt

    - 指令格式:支持一次传输多个(最多255个)数据,适用于字节块、字块和双字块的传送。 - 指令说明:同样需要注意数据类型,错误条件与单个数据传送指令相同。 3. **字节交换、填充及字节立即读写指令**: - ...

    shp文件格式及说明.doc

    位序决定了数据在内存中的字节顺序,分为大端(Big-endian)和小端(Little-endian)。通常,数据的位序是小端,但在某些情况下可能是大端。如果遇到大端位序的数据,需要进行位序转换,才能正确解读数值。例如,...

    icsapp 答案

    通过将整型变量`a`赋值1,然后将其视为字节数组访问,可以检查最低有效位(LSB)是否存储在数组的第一个字节。 2. **位操作**(2.59): 表达式`(x&0xFF) | (y&~0xFF)`用于合并两个整数`x`和`y`的最低8位。`x&0xFF...

    数据结构教程:第2章 线性表(5学时).ppt

    例如,我们可以定义一个结构体,包含一个MaxSize大小的ElemType数组data和一个length整型变量,用于表示线性表的顺序存储类型。 总结起来,线性表是数据结构的重要组成部分,提供了基础的序列数据操作。通过顺序...

    wave6000使用教程

    在需要更多存储空间时,可以扩展片外数据存储器,最大可达64KB,但需要注意的是,内外部数据存储器的地址空间存在重叠,通过不同的指令(MOV和MOVX)进行区分,以避免操作冲突。 特殊功能寄存器(SFR)是51单片机的...

    个人陈述论证形式与答题位序.ppt

    总结起来,个人陈述论证形式与答题位序是一项综合性强的技术考核点,它要求考生具备良好的分析、表达和应变能力,通过合理的结构和有深度的论述展示个人的综合素质。在准备和参与此类考核时,考生应注重培养这些技能...

    shapefile格式说明及读写代码示例.doc

    每个几何对象在.shp文件中都有一个对应的记录在.dbf文件中,记录着与之相关的属性字段。 **读写Shapefile的代码示例**: 读取和写入Shapefile通常涉及使用GIS库,如GDAL/OGR或Python的 Fiona 库。以下是一个简化的...

    .输出寻找到的两个有序表的中位数位序及中位数。.cpp

    .输出寻找到的两个有序表的中位数位序及中位数。.cpp

    单精度浮点数转Modbus协议十六进制格式.rar

    在IEEE 754标准中,单精度浮点数占用32位(4字节),包括1个符号位、8个指数位和23个尾数位。其中,符号位0代表正数,1代表负数;指数位是偏移量,实际指数需加上偏置值127;尾数位用于表示小数部分。 在转换过程中...

Global site tag (gtag.js) - Google Analytics