在存储单元中的存放方式,取决于计算机的主存单元的存储顺序
要理解这个,必须先对存储结构有了解,虽然编址是按照字节编址的,但是读取是按照机器字长来取数的。(如下图,左边为高地址,右边为低地址)
大小说的是在一个机器字长里,1Byte数据从高地址还是低地址开始放
小端方式:由低字节到高字节(这是主存最常用的方式)例如
大端方式(在画图中,通常左高右低)
2、为什么会有大小端?
1. 一开始是由于不同架构的CPU处理多个字节数据的顺序不一样,比如x86的是小段模式,KEIL C51是大端模式。这是由用途决定的,x86芯片主要用于数值计算,而51单片机主要应用于日常生活,所以对于数据更加敏感,正负温度等,可以更快的输出对使用者的有用信息。但是后来互联网流行,TCP/IP协议规定为大端模式,为了跨平台通信,还专门出了网络字节序和主机字节序之间的转换接口(ntohs、htons、ntohl、htonl)。
关于网络中为什么要用大端方式?
在网络序中,发送的顺序是从缓冲区的低地址开始的,所以将高字节首先放到低地址,可以让接收方更快的判断收到的数据是否正确并做出响应。同时,头部信息还具有其他的一些作用,比如说同步信号等。
2. 大小端模式各有优势:小端模式强制转换类型时不需要调整字节内容,直接截取低字节即可;大端模式由于符号位为第一个字节,很方便判断正负