iceman1888
Neuling
moin ich hab folgende aufgabe:
Schreiben Sie eine Funktion "is_little_endian()", die ermittelt welche Byte-Reihenfolge Ihr Rechner benutzt. Die Funktion soll 1 zurückgeben, wenn sie auf einer little endian Architektur übersetzt und ausgeführt wird, und 0 wenn sie auf einer big endian Architektur übersetzt und ausgeführt wird.
* Ihre Funktion sollte unabhängig von der verwendeten Wortlänge funktionieren.
so ich hab hier schonmal ein code aber ich weiß net wie ich das mit der wortlänge machen kann..
Schreiben Sie eine Funktion "is_little_endian()", die ermittelt welche Byte-Reihenfolge Ihr Rechner benutzt. Die Funktion soll 1 zurückgeben, wenn sie auf einer little endian Architektur übersetzt und ausgeführt wird, und 0 wenn sie auf einer big endian Architektur übersetzt und ausgeführt wird.
* Ihre Funktion sollte unabhängig von der verwendeten Wortlänge funktionieren.
so ich hab hier schonmal ein code aber ich weiß net wie ich das mit der wortlänge machen kann..
Code:
#include <stdio.h>
int main()
{
int i = 0x1234578;
if ( *(char *)&i == 0x12 )
printf("Bigendian\n");
else if ( *(char *)&i == 0x78 )
printf("Littleendian\n");
}