C :: Aufgabe #47

2 Lösungen Lösungen öffentlich

Edianess (Byte-Reihenfolge)

Anfänger - C von devnull - 07.04.2014 um 10:35 Uhr
Schreibe ein Programm, dass die Endianess (Byte-Reihenfolge im Speicher für Zahlenwerte) der Hardware ermittelt.
Das Ergebnis soll in Textform ("Little-Endian" oder "Big-Endian") ausgegeben werden.

Lösungen:

1x
vote_ok
von devnull (8870 Punkte) - 09.04.2014 um 11:11 Uhr
Quellcode ausblenden C-Code
/********************************************
 * endian.c   Byte-Reihenfolge ermitteln
 * devnull    09-04-2014
 ********************************************/
#include <stdio.h>
int main() {
        int num = 1;
        char *pc = (char *) #
        printf("%s-Endian\n", (*pc)?"Little":"Big");
        return 0;
}
vote_ok
von LeebPhil (250 Punkte) - 09.03.2016 um 11:59 Uhr
Quellcode ausblenden C-Code
#include<stdio.h>
#include<stdint.h>

/*
 * Idea behind this:
 *   Formatting a number to hexadecimal,
 *   because on a Little-Endian it would be "01 00"
 *   and on a Big-Endian it would be "00 01"
 */

int main(void)
{
   uint16_t num = (uint16_t) 1;
   char cha = *((char*)&num);
   printf("%s-Endian.\n", cha?"Little":"Big");
   return 0;
}
2126630

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.