EnderUNIX Team.


EnderUNIX İpucu

Arkadaşıma gönder , Ana Sayfa

[ C/C++ ]

"sistemin little veya big endian oluþu" - mahmut - (2008-07-23 00:04:32)   [3713]

Sistemin little veya big endian olusunu kontrol etmek için çok pratik ve güzel bir C kodu. Asagida x degiskeni int türünden. genelde derleyiciler 4 byte olarak ele alirlar. Bellekte degiskenin ilk byte ini okumaya çalisarak sistemin bitleri nasil dizdigini anlayabiliriz. Derleyici x e erismeye çalistiginda int türünü kaç byte olarak ele aliyorsa normalde o kadar byte i okur. Biz ise sadece bir byte okumasini istiyoruz. Bir byte okudugumuzda sonuc 0 veya 1 olacaktir. Bu nedenle de char türüne dönüsüm yaptiktan sonra adresteki degeri aliyoruz.x in bulundugu adresten bir byte okudugumuzda sonuç 1 ise, little endian dir. Sonuç 0 ise bu durumda siralamanin big endian oldugu ortaya çikar.

void main()
{
int x = 1;

if (*(char *)&x)
printf("little");
else
printf("big");

putchar('\n');
}

Arkadaşıma gönder , Ana Sayfa