2

У меня возник вопрос о передаче данных между различными архитектурами компьютеров. Какие проблемы могут возникать при преобразовании integer, float и char введите данные конкретно в эту процедуру? Не могли бы вы дать краткую информацию об этих конкретных типах?проблемы при передаче данных между различными архитектурами компьютеров

Я искал его, но не смог найти нужную информацию. Любая информация будет оценена. Заранее спасибо.

+0

Я не думаю, что это конкретная процедура. Это довольно общее. Не могли бы вы указать, что такое арка источника и целевая арка? – Skyler

+0

Да на самом деле довольно общий, но мой учитель задал этот вопрос, и я думаю, она просто хочет, чтобы я говорил о возможных общих проблемах при передаче, что может произойти с целыми данными, данными с плавающей запятой и данными с символами соответственно? Как они могут быть перенесены? Например, данные могут быть дополнены нулями и т. Д. – user1349536

+0

Ознакомьтесь с архитектурой _big endian_ и _little endian_ и подумайте о размере в байтах каждого из этих целых типов. –

ответ

2

Большие различия при переносе кода между архитектурами на современных машинах являются:

  1. Размер указателя: 32-бит против 64-бит, например.
  2. Размер длинный: обычно такой же, как размер указателя.
  3. Порядок байтов: большой эндиан или маленький конец (или некоторые древние машины были средними).
  4. Двоичная плавающая запятая против десятичной плавающей запятой: десятичная плавающая точка - это недавний стандарт, добавленный в 2008 году. Это не обычная проблема, но многие машины не имеют аппаратной поддержки (только для компьютеров IBM Power)? для десятичной плавающей запятой и библиотеки эмуляции.

Есть еще несколько вещей, когда речь идет о действительно старых машинах:

  1. Длина машинного слова: связанные с размером указателя
  2. число битов в байте: это теперь стандартизован на 8, но еще 40 лет назад это было не так.
  3. Представление для числа с плавающей запятой. До IEEE-754 не было стандартных, а разные машины имели разные представления. VAX с двумя типами с плавающей запятой, вероятно, является одним из самых известных примеров.
  4. Представление отрицательных чисел. Сегодня машины используют два дополнения. Cray 1 классно использовал свое дополнение.