zoukankan      html  css  js  c++  java
  • CPU大小端判断

    两种方式:1、通过指针

               2、通过联合体,联合体里面的数据都是按顺序存储的,而且不论联合体里面有多少数据类型,联合体长度是最长的数据类型的长度。不论初始化多少联合体里面的数据,有效的是最后一个初始化数据,因为联合体里面的各种数据类型共用相同的地址,都从相同的地址开始存放。

     1  1 #include<stdio.h>
     2   2 union Data{
     3   3         char ch;
     4   4         short data;
     5   5 };
     6   6 union Data u_Data;
     7   7 //judege cpu little_endian or big_endian
     8   8 int main()
     9   9         {
    10  10           char *p;
    11  11           char i=1;
    12  12           p=&i;
    13  13           u_Data.data=0x0102;
    14  14           if(*p)
    15  15             {
    16  16               printf("cpu is little endian
    ");
    17  17             }
    18  18           else printf("cpu is big endian
    ");
    19  19           if(sizeof(short)==2)
    20  20             {
    21  21               if(u_Data.ch==0x02)
    22  22                  {
    23  23                     printf("cpu is little endian
    ");
    24  24                  }
    25  25               else if(u_Data.ch==0x01)
    26  26                  {
    27  27                     printf("cpu is big endian
    ");
    28  28                  }
    29  29             }
    30  30           return 0;
    31  31         }

    输出结果:

      

  • 相关阅读:
    【SQL】语句综合练习
    【Java基础】static关键字
    【SQL】定义约束
    【SQL】数据定义语言(DDL)
    【SQL】事务处理语言(TCL)
    Stream流
    线程池(重点)
    CountDownLatch CyclicBarrier Semaphore
    集合线程安全
    20210128 寻找数组的中心索引
  • 原文地址:https://www.cnblogs.com/qiuheng/p/5793051.html
Copyright © 2011-2022 走看看