`
kingsword
  • 浏览: 7466 次
社区版块
存档分类
最新评论

什么是Big Endian和Little Endian?

 
阅读更多

以下是一些要点帮助理解:

1. Big/Little Endian主要指的是字节在内存中的顺序。注意是针对字节(Byte) 的。对于一个字节内的位(Bit)来说,没有Big/Little Endian的说法。非要有个说法的话,bit在byte里面还是按Big Endian的习惯表达的。


2. 什么是Big Endian 或者 Little Endian呢?

下面简单小举一例,即可阐明。假设有一个数12345,按读者习惯的话,从左到右看它,1是这个数字的最高位。现在要把它弄到内存里去,假设每个数字1到5,分别使用一个byte。

a) 那么按Big Endian的方式,从内存的地址由低到高,这个数字在内存里面仍然是按照12345的顺序。

b) 反之如果是按Little Endian的方式,从内存的地址有低到高,这个数字就被存成54321的样子了。

 

3. why are they exsited & impact?

使用Big Endian的主:

a) IBM's 370 mainframes, most RISC-based computers, and Motorola microprocessors use the big-endian approach.

b) TCP/IP also uses the big-endian approach (and thus big-endian is sometimes called network order).

c) Java Language

 

使用Little Endian的主:

a) Intel processors (CPUs) and DEC Alphas and at least some programs that run on them are little-endian

所以在实际使用中要注意如果是在不同机器上传数据的话,要有意识是不是要作Big Endian到Little Endian的转换。更具体一点,例如在C/C++ 语言编写的程序里,数据存储顺序是跟编译平台所在的CPU 相关的;JAVA 编写的程序则唯一采用Big Endian。 如果用C/C++ 语言在x86 平台下编写的程序跟JAVA 程序互通的时候,就要进行必要的字节序转换工作。

分享到:
评论

相关推荐

    nohead big endian to little endian

    nohead data big endian to little endian

    Big Endian & Little Endian.pdf

    **Big Endian** 和 **Little Endian** 是指多字节数据(如整数或浮点数)在内存中存储时,字节间的排列顺序。这两种方式的区别主要在于最高有效字节(Most Significant Byte, MSB)和最低有效字节(Least ...

    little endian和big endian的概念解释

    ### Little Endian 和 Big Endian 的概念解释 #### 一、基本定义 在计算机科学领域,数据存储的方式对于数据处理的效率以及程序的兼容性至关重要。其中,Little Endian 和 Big Endian 是两种常见的字节顺序(Byte ...

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

    这些字节如何在内存中排列,涉及到两种主要的存储方式——大端(Big Endian)与小端(Little Endian)。本文将深入探讨这两种存储方式的概念、原理及其应用场景。 #### 二、大端与小端的定义 1. **大端表示法(Big...

    Little_Big_endian.rar_big endian_little

    这里我们主要讨论两种字节顺序:大端字节序(Big-endian)和小端字节序(Little-endian)。这两个术语源自Gulliver's Travels中的两个部落名称,用来形象地描述数据在内存中的排列方式。 标题“Little_Big_endian....

    Big-and-Little-Endian.rar_LIt_endian_little

    在计算机科学中,大端字节序(Big-Endian)和小端字节序(Little-Endian)是两种主要的数据存储方式,对于理解和编写跨平台应用程序的开发者来说至关重要。这两种字节序涉及到如何在内存中存储多字节数据类型,如...

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

    在计算机科学领域,大端(Big Endian)与小端(Little Endian)指的是数据(特别是多字节整数)在内存中存储时的字节顺序。这两种表示方法主要应用于不同类型的计算机体系结构中,对软件开发尤其是跨平台编程具有...

    字符编码转换类,支持 ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom互相转换

    2. Unicode:这是一个标准,定义了所有已知字符的唯一数字表示,分为Little Endian和Big Endian两种字节顺序。Little Endian先存储低字节,Big Endian则先存储高字节。 3. UTF-8:一种变长的Unicode编码,用1到4个...

    little endian,big endian 小端存储、大端存储.zip

    little endian,big endian 小端存储、大端存储.zip

    Macro-test-mode-test-system.zip_endian_little endian

    Endianness 主要分为两种:大端法(Big Endian)和小端法(Little Endian)。这个名为 "Macro-test-mode-test-system.zip_endian_little_endian" 的压缩包文件是为了帮助用户检测他们的个人计算机(PC)使用的是哪种...

    字符编码转换 Text、ANSI、Unicode、Unicode Big Endian、UTF-8、UTF-7

    本篇文章将深入探讨标题中提及的几种字符编码:Text、ANSI、Unicode(包括Little Endian和Big Endian)、UTF-8以及UTF-7,并介绍它们之间的转换。 1. **Text编码**: 在Windows系统中,通常所说的"Text"编码是指...

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

    大端(Big Endian)与小端(Little Endian)是指计算机系统中多字节数据在内存中的存储方式。这个概念主要涉及到处理器架构和数据表示,对于跨平台编程和网络通信尤其重要。Endianness的问题源于不同的计算机系统...

    STM32F103CB_Big_Little_Endian_Demo.zip

    基于STM32HAL库,USART-调试串口(大小端测试),对应文章:https://blog.csdn.net/qq_36075612/article/details/115935138?spm=1001.2014.3001.5501

    字节存储顺序: little-endian小端,big-endian大端 教程

    你是否遇到过,内存中的数据顺序颠倒 你存入1234,实际存储的是3412. 字节存储顺序: little-endian小端,big-endian大端 教程 主机序,网络序 hton,ntoh

    is-little-endian:检查您的系统是否为小端

    buffer ) ) [ 0 ] === 0x04030201 )用法使用 npm 安装: npm install is-little-endian然后像这样使用它: if ( require ( "is-little-endian" ) ) { // Use little endian buffer} else { // Use big endian ...

    西门子PLC接口,大端和小-Endian的存储格式.pdf

    西门子PLC接口,大端和小-Endian的存储格式pdf,西门子PLC接口,大端和小-Endian的存储格式:本文介绍了SINUMERIK:PLC接口,和Little-Endian的Big-Endian的存储格式

    判断CPU大小端模式

    请写一个C函数,若处理器是Big_endian的,则返回 0;若是Little_endian的,则返回1。 • 函数原型:int checkCPU( );

    解析大端模式和小端模式

    目前主要存在两种字节序类型:大端模式(Big Endian)与小端模式(Little Endian)。这两种模式直接影响着程序在不同系统之间的兼容性以及网络通信中数据包的解码。 #### 大端模式(Big Endian) 大端模式是指在多...

    网络字节序和主机字节序

    常见的有两种字节序:Little Endian(小端字节序)和 Big Endian(大端字节序)。Little Endian 将低序字节存储在起始地址,而 Big Endian 将高序字节存储在起始地址。 Little Endian 最符合人的思维的字节序,因为...

Global site tag (gtag.js) - Google Analytics