首页 > 其他 > 详细

大端模式小端模式

时间:2019-04-02 11:47:34      阅读:152      评论:0      收藏:0      [点我收藏+]

 

 

机器字节存储有大端小端模式之分

 

大端模式与小端模式

 

大端模式(Big-endian)是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中.

技术分享图片

 

 

小端模式(little-endian)是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。

 技术分享图片

一般涉及到网络编程的时候可能涉及到数据大小端的转换问题,因TCP/IP协议规定了在网络上必须采用网络字节顺序(也就是大端模式,UDP/TCP/IP协议规定:把接收到的第一个字节当作高位字节看待)。

当前机器是大端还是小端模式,我们可以用一个简单的代码来测试出来,参考如下:

 

#include        <stdlib.h>
#include        <stdio.h>
#include        <string.h>


int main(int argc , const char **arv)
{
        unsigned int val = 0x12345678;
        unsigned char *p = (unsigned char *)&val;

        if(p[0] < p[3])
        {
                printf("little-endian: val=0x%x uchar_val[0]=0x%x, uchar_val[3]= 0x%x\n",val, p[0],p[3]);
        }
        else
                printf("big-endian: val=0x%x uchar_val[0]=0x%x, uchar_val[3]= 0x%x\n",val, p[0],p[3]);

        return 0;
}

  

 

大端模式小端模式

原文:https://www.cnblogs.com/tid-think/p/10641409.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!