C/Przenośność programów: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
→Konwersja z jednego porządku do innego: po co nazwy argumentów |
→Konwersja z jednego porządku do innego: więcej makr |
||
Linia 117:
#define PDP_TO_H(val) convert_order32((val), 3412, __BYTE_ORDER)
#define H_TO_PDP(val) convert_order32((val), __BYTE_ORDER, 3412)
#define LE_TO_BE(val) convert_order32((val), 1234, 4321)
#define BE_TO_LE(val) convert_order32((val), 4321, 1234)
#define PDP_TO_BE(val) convert_order32((val), 3421, 4321)
#define PDP_TO_LE(val) convert_order32((val), 3421, 1234)
#define BE_TO_PDP(val) convert_order32((val), 4321, 3421)
#define LE_TO_PDP(val) convert_order32((val), 1234, 3421)
int main (void)
Linia 140 ⟶ 146:
unsigned char *v = (unsigned char*)&val;
int byte_order = *v * 1000 + *(v + 1) * 100 + *(v + 2) * 10 + *(v + 3);
printf("Porządek ");
if (byte_order == 4321)
printf("
printf("
printf("
printf("Inny porządek");
printf(" (%d)\n", byte_order); return 0;
}
|