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;
}