|
|
1.1 ! root 1: ! 2: ! 3: byte ordering Technical information byte ordering ! 4: ! 5: ! 6: ! 7: ! 8: Machine-dependent ordering of bytes ! 9: ! 10: ! 11: Byte ordering is the order in which a given machine stores suc- ! 12: cessive bytes of a multibyte data item. Different machines order ! 13: bytes differently. ! 14: ! 15: The following example displays a few simple examples of byte or- ! 16: dering: ! 17: ! 18: ! 19: main() ! 20: { ! 21: union ! 22: { ! 23: char b[4]; ! 24: int i[2]; ! 25: long l; ! 26: } u; ! 27: u.l = 0x12345678L; ! 28: ! 29: ! 30: ! 31: printf("%x %x %x %x\n", ! 32: u.b[0], u.b[1], u.b[2], u.b[3]); ! 33: printf("%x %x\n", u.i[0], u.i[1]); ! 34: printf("%lx\n", u.l); ! 35: } ! 36: ! 37: ! 38: When run on ``big-endian'' machines, such as the M68000 or the ! 39: Z8000, the program gives the following results: ! 40: ! 41: ! 42: 12 34 56 78 ! 43: 1234 5678 ! 44: 12345678 ! 45: ! 46: ! 47: As you can see, the order of bytes and words from low to high ! 48: memory is the same as is represented on the screen. ! 49: ! 50: However, when this program is run on ``little-endian'' machines, ! 51: such as the PDP-11, you see these results: ! 52: ! 53: ! 54: 34 12 78 56 ! 55: 1234 5678 ! 56: 12345678 ! 57: ! 58: ! 59: As you can see, the PDP-11 inverts the order of bytes within ! 60: words in memory. ! 61: ! 62: ! 63: ! 64: COHERENT Lexicon Page 1 ! 65: ! 66: ! 67: ! 68: ! 69: byte ordering Technical information byte ordering ! 70: ! 71: ! 72: ! 73: Finally, when the program is run on the i8086 you see these ! 74: results: ! 75: ! 76: ! 77: 78 56 34 12 ! 78: 5678 1234 ! 79: 12345678 ! 80: ! 81: ! 82: The i8086 inverts both words and long words. ! 83: ! 84: ***** See Also ***** ! 85: ! 86: C language, canon.h, data formats, technical information ! 87: ! 88: ! 89: ! 90: ! 91: ! 92: ! 93: ! 94: ! 95: ! 96: ! 97: ! 98: ! 99: ! 100: ! 101: ! 102: ! 103: ! 104: ! 105: ! 106: ! 107: ! 108: ! 109: ! 110: ! 111: ! 112: ! 113: ! 114: ! 115: ! 116: ! 117: ! 118: ! 119: ! 120: ! 121: ! 122: ! 123: ! 124: ! 125: ! 126: ! 127: ! 128: ! 129: ! 130: COHERENT Lexicon Page 2 ! 131: ! 132:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.