zoukankan      html  css  js  c++  java
  • 字节顺序的大端与小端

     一个16位的整数,由两个字节组成。内存中存储这个两个字节有两种方法:一种是将低位字节存储在起始地址,这种方式称为小端(little-endian)字节序;另外一种是将高位字节存储在起始地址,这种方式称为大端(big-endian)字节序。

     

      在网络编程、系统设计、汇编中可能会涉及到大端小端问题。

      下面一个简单C程序可以判断出你所使用的机器是大端还是小端

      

    #include<stdio.h>
    
    int  main(int argc, char const *argv[])
    {
        union              //采用union的以不同方式表示数据
        {
            short s;
            char c[sizeof(short)];       
        }un;
    
        un.s=0x0102;
        printf("char is %lu byte
      ",sizeof(char) );
        if(sizeof(short)==2)
        {
            if((un.c[0]==1) && (un.c[1]==2) )
            {
                printf("big-endian
    " );
            }
            else if((un.c[0]==2) && (un.c[1]==1) )
            {
                printf("little-endian
    ");
            }
            else
            {
                printf("unknown
    ");
            }
        }
        else
        {
            printf("sizeof(short)== %lu
    ",sizeof(short));
        }
        return 0;
    }

      参考:Unix网络编程

  • 相关阅读:
    Yii2 composer报错处理
    bootstrap元素居中
    前端面试题
    control-lable的用法
    jenkins持续集成搭建
    gitlab管理平台搭建
    mysql8.0.11安装
    nexus私服搭建、配置、使用
    mysql5.7.22安装
    nginx配置阿里云免费ssl证书实现https化
  • 原文地址:https://www.cnblogs.com/Zhang-Shangyu/p/5317942.html
Copyright © 2011-2022 走看看