2012-03-08 9 views
1

ビッグエンディアンを使用するコンピュータは多数ありますか?私はちょうど異なる年に購入された5種類のコンピュータと異なるモデルでテストしました。それぞれLittle Endianを使います。ビッグエンディアンは今でも使用されていますか、Motorola 6800などの古いプロセッサで使用されましたか?Big Endiannessについて心配すべきですか、それとも些細なことですか?

編集:

はTreyA、intel.com/design/intarch/papers/endian.pdfは非常に素晴らしく、便利な一品です、ありがとうございました。それはすべての答えを腹を覆い、それらにまた拡大する。

+1

あなたはネットワークバイト順序がBEであるので、あなたは*絶対に*それを心配する必要はネットワークプログラミングのいずれかの種類をやっている場合。とにかく、世界全体がちょうどあなたが一般的にトラブルを求めているようなものだと仮定します。 – Flexo

+1

これは若干の日付です(2004年は古くなったのですが)。http://www.intel.com/design/intarch/papers/endian.pdf – TreyA

+2

ARM、PowerPC、Alpha、SPARC V9、MIPS 、PA-RISCおよびIA-64は、例としてウィキペディアの記事で挙げられているものです。それらのすべては私の仕事の中で、より頻繁ではないものもあります。 – PlasmaHH

答えて

5

現在ビッグエンディアンであるか、ビッグエンディアンとリトルエンディアンのエンディアンモード(SPARC、PowerPC、ARM、Itaniumなど)を切り替えることができるプロセッサが多数使用されています。

"エンディアンに気をつける"という言い方によって異なります。必要なデータをプログラミングするだけでは、通常、エンディアンについて細心の注意を払う必要はありません。エンディアンは、ファイルを読み書きする、ネットワーク経由でデータを送信するなど、外部と通信する必要がある場合に重要で、1バイトを超える整数を直接メモリに読み書きすることで行います。

外部データを処理する必要がある場合は、その形式を知る必要があります。そのフォーマットの一部は、例えば、そのデータに整数がどのようにコード化されているかを知る。フォーマットで4バイト整数の最初のバイトが整数の最上位バイトであることが指定されている場合は、そのバイトを読み込み、プログラムの整数の最上位バイトに置きます。これにより、その罰金を達成することができます のコードは、リトルエンディアンマシンとビッグエンディアンマシンの両方で動作します。

プロセッサのエンディアンはそれほど重要ではありませんが、対処する必要があるデータです。そのデータは、 "エンディアン"に格納された整数を持ち、いくつかの仕様に応じてさまざまなエンディアンを使い、さまざまなデータフォーマットを使用するかどうかを知る必要があります。

3

異なるアーキテクチャーの点で、ビッグエンディアンがまだまだ使用されています。実際、インテルと旧DECコンピュータの外では、Sparc、Power PC(IBM Unixマシン)、HPのUnixプラットフォーム、IBMメインフレームなどはいずれもビッグエンディアンではありません。しかしそれは重要ですか?私がエンディアンを考慮する必要があった唯一の時間は、modfのような低レベルのシステムルーチンを実装するときでした。それ以外の場合、intはある範囲の整数値です。それだけです。

0

質問に十分な文脈がありません。一般的には、常にそれを認識しておく必要がありますが、毎日のコーディングでそれを強調する必要はありません。整数の内部バイトを使いこなすつもりなら、エンディアンを心配してください。あなたの整数で標準的な計算をする予定があるならば、それについて心配しないでください。

エンディアンがポップアップする2つの大きな場所は、ネットワーキング(ビッグエンディアン標準)とバイナリレコード(整数がビッグエンディアンかリトルエンディアンのいずれであるかを調べなければならない)です。

1

次のような共通のプラットフォームは、ビッグエンディアンエンコーディングを使用します。

  • をJavaの
  • TCP/UDPパケットのネットワークデータ(多分IPレベルで、私はそれについてはよく分からない)

x86/x64 CPUはリトルエンディアンです。この2つの間でバイナリデータを扱う場合は、これを確実に理解する必要があります。

0

これは、回答よりもコメントの数が多いですが、私はコメントできません。それは読み物としては素晴らしい記事だと思います。それは価値があると思います。

これは1980年にまで遡る、ダニー・コーエンによってエンディアンの古典である: ON HOLY WARS AND A PLEA FOR PEACE

関連する問題