`

大小端存储问题

    博客分类:
  • C++
阅读更多


int i=1;  
    char *p=(char *)&i;  
    if(*p==1)    
           printf("1"); 
    else
           printf("2");

          大小端存储问题,如果小端方式中(i占至少两个字节的长度)则i所分配的内存最小地址那个字节中就存着1,其他字节是0.大端的话则1在i的最高地址字节处存放,char是一个字节,所以强制将char型量p指向i则p指向的一定是i的最低地址,那么就可以判断p中的值是不是1来确定是不是小端。


请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
解答:
int checkCPU( )
{
    {
           union w
           { 
                  int a;
                  char b;
           } c;
           c.a = 1;
           return(c.b ==1);
    }
}

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hongjiujing/archive/2008/03/12/2173909.aspx

分享到:
评论

相关推荐

    TIA博途-32位浮点数大小端存储-高低字节转换全局FB库文件(4种字节排列顺序)-V17版本.zip

    在IT行业中,尤其是在嵌入式系统、网络通信和数据存储等领域,理解32位浮点数的大小端存储以及高低字节转换是非常重要的基础知识。TIA博途( Totally Integrated Automation Portal)是西门子推出的一款集成自动化...

    关于C51中“大小端存储”问题的详解

    "大小端存储在C51中的应用详解" 在单片机编程中,了解大小端存储的概念及其在C51中的应用是非常重要的。本文将对大小端存储的概念进行详细的解释,并探讨其在C51中的应用。 一、大小端存储的概念 在计算机科学中...

    二进制文件大小端转换工具,

    大小端(Endian)是指在一个多字节的数据类型(如整型或浮点型)中,高字节和低字节的存储顺序。这种顺序在不同的计算机架构中可能不同,分为大端模式(Big-Endian)和小端模式(Little-Endian)。大端模式下,高...

    TIA博途-32位浮点数大小端存储-高低字节转换的具体方法示例(4种字节排列顺序).docx

    在计算机科学中,32位浮点数...总之,理解和掌握浮点数的大小端存储以及高低字节转换在TIA博途中是至关重要的,特别是在进行跨平台或网络通信的程序设计时。通过这个FB块的示例,我们可以更直观地学习并应用这些概念。

    十进制转十六进制包含大小端设置_大小端_matlab_十进制_十六进制_

    总的来说,理解大小端模式是理解和操作二进制数据的基础,而MATLAB提供了一个强大且灵活的平台来处理这类问题。通过上述函数,你可以轻松地将十进制数转换为十六进制,并按需调整字节顺序。在处理涉及跨平台数据交换...

    Union联合数据大小端问题.rar

    然而,`union`在处理大小端问题时,可能会引发一些不直观的结果,尤其是在跨平台编程时。本篇文章将深入探讨`union`与大小端问题的相关知识点。 首先,大小端是指在计算机系统中,多字节数据(如整数或浮点数)在...

    Float类型大小端转换测试程序

    总结来说,理解和处理大小端问题在处理跨平台通信、文件存储和网络传输时至关重要。通过理解浮点数的内部结构和利用联合体或数组来操作字节,我们可以有效地实现浮点数的大小端转换。在实际编程中,应确保正确处理...

    存储模式介绍 大小端

    存储模式介绍 编程开发必知,大端模式,小端模式

    android平台存储容量大小更改

    在修改存储容量的过程中,可能需要对`File`类进行扩展或调整,以适应新的存储大小。这可能包括更新文件系统的大小计算,或者确保文件操作在新的容量限制内正常运行。 接着,`DefaultContainerService.java`是一个与...

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

    在这个项目中,程序支持32位int整型字节对齐,并考虑了大小端的问题,这使得它在不同平台上的兼容性更强。 首先,让我们深入理解CRC32的基本原理。CRC32基于二进制多项式运算,通过计算数据流与预定义的生成多项式...

    大小端模式的区别.txt

    存在大小端模式的主要原因是由于不同的硬件平台和处理器架构对数据存储有不同的需求和优化考虑。不同的体系结构可能选择不同的数据布局方式以提高性能或兼容性。 #### 对编程的影响 对于程序员而言,了解系统使用...

    深入分析S3C2440启动代码中大小端问题.pdf

    由于不同处理器对数据存储顺序(即大小端模式)有不同的处理方式,因此了解并解决这些问题对于确保软件兼容性和正确性至关重要。 #### 二、大小端模式简介 在计算机科学中,“大端”(Big Endian)和“小端”(Little...

    检测PC大小端代码,C语言

    这是我自己写的一个用C实现的,用来测试大小端存储的代码。

    C/C++ 大小端判断

    在计算机科学中,"大小端"(Endianness)是指数据在内存或网络传输中存储的顺序。简单来说,就是指多字节数据(如整数或浮点数)是按照高字节优先(Big-Endian)还是低字节优先(Little-Endian)的方式存储的。这个...

    关于大小端--大端 小端 大小端

    比如,X86架构通常采用小端模式,而ARM、DSP等处理器则可能采用小端模式,也有部分ARM处理器可以动态切换大小端模式。 在通信和网络协议中,理解数据的字节序至关重要,因为不同的设备可能遵循不同的字节序。如果不...

    HDS中端存储PPT

    《HDS中端存储PPT》的解析与详解 HDS(Hitachi Data Systems)是全球知名的存储解决方案提供商,其AMS2000系列中端存储系统是为企业级客户量身打造的高可用性和高性能存储解决方案。这款产品家族包括AMS2100、AMS...

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

    CPU的大小端模式是计算机系统存储多字节数据的一种方式,它决定了数据的字节序,即高字节和低字节存储的顺序。在计算机体系结构中,数据的存储和传输方式对于软硬件的兼容性和一致性至关重要。了解CPU的大小端模式,...

    用联合的方法判断大小端

    利用联合的方法,判断X86平台是小端序存储还是大端序存储

Global site tag (gtag.js) - Google Analytics