2

異なるコンピューター アーキテクチャ間のデータ転送について質問があります。この手順で具体的に整数型、浮動小数点型、および char型のデータを変換すると、どのような問題が発生する可能性がありますか? これらの特定のタイプについて簡単な情報を教えてください。

調べてみましたが、必要な情報が見つかりませんでした。どんな情報も高く評価されます。前もって感謝します。

4

1 に答える 1

2

最新のマシンのアーキテクチャ間でコードを移植する際の大きな違いは次のとおりです。

  1. ポインターのサイズ: たとえば、32 ビットと 64 ビット。
  2. long のサイズ: 通常はポインターのサイズと同じです。
  3. バイト順: ビッグ エンディアンまたはリトル エンディアン (または一部の古代のマシンはミドル エンディアン)。
  4. 2 進浮動小数点と 10 進浮動小数点: 10 進浮動小数点は、2008 年に追加された最近の標準です。これは一般的な問題ではありませんが、多くのマシンは 10 進浮動小数点をハードウェアでサポートしていません (IBM Power マシンだけですか?)。ポイントし、エミュレーション ライブラリを持っています。

本当に古いマシンについて話すとき、さらにいくつかのことがあります。

  1. 機械語の長さ: ポインターのサイズに関連
  2. 1 バイトのビット数: これは現在 8 で標準化されていますが、40 年以上前はそうではありませんでした。
  3. 浮動小数点数の表現。IEEE-754 より前は標準がなく、マシンごとに表現が異なっていました。2 つの浮動小数点型を持つ VAX は、おそらく最も有名な例の 1 つです。
  4. 負の数の表現。今日のマシンは 2 の補数を使用します。Cray 1 は、1 の補数を使用したことで有名です。
于 2012-07-09T12:40:55.437 に答える