計算計算機字節順序

Problem

Write a function that determines whether a computer is big-endian or little-endian

Solution

#include <iostream>

using namespace std;

int is_little_endian()
{
    int num = 0x1;
    char *p = (char *)#

    return (*p) ? 1 : 0;
}

bool is_little_endian2()
{
    union {
        int a;
        char b;
    }endianess;

    endianess.a = 1;

    return (endianess.b == 1)? true : false;
}


int main(int argc, char* argv[])
{
    if(is_little_endian()){
        cout << "little endian " << endl;
    }
    else{
        cout << "big endian " << endl;
    }

    if(is_little_endian2()){
        cout << "little endian " << endl;
    }
    else{
        cout << "big endian " << endl;
    }

    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章