`
switchlau
  • 浏览: 54136 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

测试机器大小端字节序的小程序

 
阅读更多

现代机器的字节序组织有两种方式,即大端序组织(big endian)和小端序组织(little endian),典型的Intel 80x86 CPU使用的是little endian,而苹果Macintosh和大多数非80x86的系统使用的是big endian。

 这两个名字来源于Jonathan Swift 的作品《格列佛游记》(Gulliver's Travels),小人国的居民们争吵不决鸡蛋是应该从大的一端打开还是应该从小的一端打开,后来计算机的字节序组织也沿用了这种叫法。。。

关于little endian的解释:"Little Endian" means that the low-order byte of the number is stored in memory at the lowest address, and the high-order byte at the highest address.

关于big endian的解释:"Big Endian" means that the high-order byte of the number is stored in memory at the lowest address, and the low-order byte at the highest address.

下面是一段测试机器大小端字节序的代码

#include<stdio.h>

union{
        unsigned long bits32;
        unsigned char bytes[4];
}value;

int isLittleEndian(){
        value.bytes[0] = 0;
        value.bytes[1] = 1;
        value.bytes[2] = 0;
        value.bytes[3] = 0;

        return value.bits32 == 256;
}

int main(){
        if( isLittleEndian())
                printf("is little endian! ");
        else
                printf("is big endian! ");
        return 0;
}

 

分享到:
评论

相关推荐

    生成任意大小和格式文件的工具

    在IT领域,有时候我们需要创建特定大小或特定格式的文件,比如测试数据、填充存储空间或者模拟某些场景。这时,一个能够“生成任意大小和格式文件的工具”就显得尤为重要。这个工具无需安装,这意味着它可能是便携式...

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

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

    生成固定大小的FF填充文件

    2. **bin文件**:BIN文件是一种二进制文件格式,通常用于存储固件、程序代码或其他机器可执行的数据。它们可以直接加载到硬件设备上,比如微控制器或闪存驱动器。 3. **生成固定大小的bin文件**:生成固定大小的bin...

    国际程序设计大赛作品展

    1.这个程序(4K)是97年的Mekka ’97 4K Intro比赛的一等奖作品,整个程序全长4095字节,其中包含133字节的自解压程序(类RAR压缩),未解压的程序长4782字节。三维场景包含144个立方体,367个面,362个点,15个不同的64...

    kafka及其性能测试

    在压测时,通常需要考虑消息大小、批量大小、分区数量、代理数量等因素对测试结果的影响。 Kafka的性能测试对于理解和优化Kafka集群性能至关重要。通过合理地设计和执行性能测试,可以找到系统的瓶颈,并据此优化...

    文件比较大小的源码 下载

    在IT行业中,源码是程序员进行软件开发的基础,它代表了程序的原始指令集,可以被编译器或解释器转化为计算机能理解的机器语言。本主题涉及的是一个用于比较文件大小的源码,这对于很多应用场景都至关重要,比如数据...

    SQLite 数据库

    数据库文件可以在不同字节序的机器之间自由地共享。 支持最大可达2T的数据库。 (241 字节) 字符串和BLOB类型的大小最大可达 2G 字节(231字节)。 小的代码: 完整配置的少于250KB,忽略一些可选特性的少于150KB。 ...

    美国军方实验室用来测试两个系统之间的tcp、upd性能的工具

    在实际使用 ttcp 进行测试时,用户需要在两台机器上分别运行发送和接收程序,然后分析收集到的数据。通过这些测试结果,网络管理员或开发人员可以了解网络环境的瓶颈,优化系统配置,或者选择更适合特定应用场景的...

    【学习笔记】Iperf3网络性能测试工具详解教程.pdf

    服务器端可作为后台程序运行或作为Windows服务运行,还可以使用典型数据流来测试链接层压缩对于可用带宽的影响。 Iperf的安装分为Windows版本和Linux版本。Linux版本更新较快,最新版本为iperf3.0,可以从官方网站...

    DELPHI写的远程运行在其他机器的扫描器。

    虚拟内存空间大小为2147352576字节 未使用的虚拟内存空间大小为2119753728字节 ☆文件相关信息 系统安装目录: D:WINNT 系统文件路径: D:WINNTSystem32 本程序 位置: E:工程桌面fuwuscanProject1.exe ☆系统注册...

    c代码-关键字字节测试

    在字节测试中,我们可能会关注关键字在内存中的表示,这可能涉及到字节顺序、数据类型大小、编译器对关键字的处理策略等。例如,32位系统和64位系统中,关键字所占用的字节数可能不同,或者不同编译器对关键字的编码...

    操作系统lab1实验报告1

    大端存储模式是指将数据的高字节存储在低地址处,小端存储模式是将数据的低字节存储在低地址处。在操作系统中,大端存储模式和小端存储模式都是常用的存储模式,但是在不同的系统中,存储模式可能不同。 在实验报告...

    replace测试

    1. **字节码执行机制**:JVM通过类加载器加载.class文件,然后通过解释器或即时编译器(JIT)将字节码转换为机器码执行。 2. **内存区域**:包括堆(Heap)、栈(Stack)、方法区(Method Area)、本地方法栈...

    二进制文件编辑程序源代码.rar_二进制文件编辑程序源_文件编辑

    4. **数据修改**:允许用户选择和修改文件中的字节,可能需要处理字节顺序(如大端序和小端序)和数据类型(如整数、浮点数)。 5. **保存更改**:将修改后的数据写回原文件,通常需要处理文件的大小变化和数据完整...

    UDP传结构体测试.rar_UDP_Udp传递结构体_udp 结构体_udp消息传结构体_体传+18

    这个过程通常涉及类型大小的处理,因为不同的系统可能对基本类型有不同的字节数。例如,一个整型(int)在32位系统上可能是4个字节,在64位系统上可能是8个字节。因此,确保发送端和接收端对结构体成员的处理方式...

    C语言程序设计基础测试题-答案.docx

    C语言程序设计基础测试题-答案 本文档提供了C语言程序设计基础测试题的答案,涵盖了C语言程序设计的基础知识点,包括变量、数据类型、运算符、控制结构、函数、数组、指针等方面的知识。 一、选择题 1. 复合语句...

    嵌入式系统开发人员C语言测试题-内存管理.doc

    - 8、16、32位数值的存储取决于机器字长和endianness(大端或小端)。 17. **高位字节和低位字节**: - 字节的高低位与机器字节顺序有关,高位字节通常是数值的高有效位,低位字节是低有效位。 18. **代码错误及...

Global site tag (gtag.js) - Google Analytics