大端小端判断

题外话

今天遇到这样一个注释

// BGRA little endian (argb in memory) to ARGB.

在opencv中使用cvtColor, 比如BGR2BGRA,
实际在是用libyuv的时候,(ubuntu)数据存放是argb, 所以数据还是要用libyuv::ARGBTo*进行处理。

判断机器是大端还是小端

#include <iostream>

int checkCPU(){
   union w{  
            int  a;
            char b;
          } c;
    c.a = 1;
    return(c.b ==1);
}
int main() {
    if (checkCPU()){
      std::cout << "little endian" << std::endl;
    } else {
      std::cout << "big endian" << std::endl;
    }
}

1为小端,0为大端

posted @ 2020-09-22 16:10  cyssmile  阅读(195)  评论(0编辑  收藏  举报