zoukankan      html  css  js  c++  java
  • 大端模式小端模式

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

    大端模式与小端模式

    大端模式(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
    ",val, p[0],p[3]);
            }
            else
                    printf("big-endian: val=0x%x uchar_val[0]=0x%x, uchar_val[3]= 0x%x
    ",val, p[0],p[3]);
    
            return 0;
    }
    

      

  • 相关阅读:
    作业
    作业
    [转]C语言指针 之 函数指针
    iOS 隐私政策
    微信小程序成长记录(一)
    ios 用信号量控制多个异步网络请求
    ios 利用cocapods创建私有库
    ios 整理获取设备相关信息
    ios_scrollView顶部图片下拉放大
    ios 在项目中使用文字ttf文件
  • 原文地址:https://www.cnblogs.com/tid-think/p/10641409.html
Copyright © 2011-2022 走看看