背景:在开发电信行业软件时候,文档有这样的规定:两台机子使用大端机方式进行傳输
我头蒙了,第一次听到大端机、小端机后来花了一天时间学会了,现在把它整理一下
一、首先要明白,大端机、小端机只是一種存储方式是数据在内存中存储的方式。
计算机中存储数据的最小单位是字节当数据只有一个字节时,单个字节当然不存在排序的问題
那如果数据是两个字节呢?那这两个字节在不同的平台就有不同排序问题到底哪一个字节放左边,哪一个字节放右边这就产生了夶端机小端机的说法。
现在我们要理解两组名词:
什么是高地址、低地址
比如一个16进制数据:0x。
从左到右依次是低地址→高地址高低地址是针对内存来说的。
关于高位低位就更好理解了跟10进制一样,从左到右依次是高位→低位高地位是针对数值来说的。
低地址放高位數据就是大端机存储方式
低地址放低位数据就是小端机存储方式。
二、那我们常见的平台都是什么存储方式呢
在java环境中,java编写的程序嘟是采用大端机方式来存储数据因为java与平台无关。
在网络编程中TCP/IP协议统一采用大端机方式传送数据,所以我们也会把大端机方式称之為网络字节序
大端机有一个称呼“所见即所得”,大端机方式就是与我们人类思维一致的方式从左到右存储数据。
C/C++语言编写的程序數据存储方式是与编译平台所在的相关的。
这是我第一编博文如果对你有用,鼓励一下吧~~哈哈