Перенос С исходников с Пенька на RISC под HP UX.


[ Комментарии ] [ Добавить комментарий ] [ Доска объявлений HackZone ]

Отправитель: Dmit, October 16, 1998, 15:20:53:

В ответ на: Перенос С исходников с Пенька на RISC под HP UX. (отправитель: Andrew, October 16, 1998, 14:28:47):

: На счет платформ - понятия не имею. (А что такое вообще эти High & Low?)

Тут я чуть-чуть лажанулся. Не High и Low, а Big и Little :(

Существует два способа хранения целых чисел, которые длиннее одного байта.

В первом способе (процессоры фирмы Intel) первым хранится младший байт. Так, например, число 0x12345678 будет храниться как 78 56 34 12 (little endian)

Во втором случае (например процессоры Motorolla) первым хранится старший байт. И число 0x12345678 будет храниться как 12 34 56 78 (big endian)

Эти отличия иногда закладывают при разработке каких-либо форматов (например TIFF, ISO-9660).

В довершение я нашел следующее: Byte ordering

Computers differ in the way they order the bytes that compose multi-byte data types. For example, on some computers, the low-order byte of a long integer will occupy the lowest memory address of the integer. On other computers, the high-order byte will be first (in the lowest memory position). Computers of the first type are known as little endian computers. Computers that place the high-order byte of a multi-byte data type first are known as big endian computers. In the orderStruct example, the Sun SPARCstation wrote the orderNumber value 0x000003E8 to disk as 00 00 03 E8, whereas the PC and the Clipper wrote it to disk as E8 03 00 00. From this we can infer that the SPARCstation is a big endian machine (like the HP, Macintosh and

IBM RS-6000), and the PC and Clipper workstation are little endian machines.

Таким образом, в PC и HP разный порядок байт в целых числах... Так что переписывать тебе программу ;)


Комментарии:


Цитировать сообщение


[ Комментарии ] [ Доска объявлений HackZone ]