• 締切済み

プロセッサの方式

リトルエンディアンとビッグエンディアンがあるということがわかったのですが、なぜそれらの方式に分かれてしまったのでしょうか? また、統一するのになにか問題があるのでしょうか? あと、bi endianというのはこれらの仲間ですか?

みんなの回答

  • txrx
  • ベストアンサー率45% (83/184)
回答No.2

マイコンの世界から言わせてもらいますと、インテル(ザイログ)とモトローラの戦いでした。 今でも使い続けられているZ-80は、リトル。モトローラと言えばビッグ。 互いに長所と短所を持っており、どちらがどうだ?ともいえないまま、IBMとAppleの戦いへ進んでいった様に覚えています。 昔はモトローラ系のCPUを搭載したPC仲間とインテル系CPUを搭載したPC仲間では、ユーザ間の仲が悪かった。 数年前では、MacとWinの様に・・・。 いまさらどちらかに統一するとした場合、どちらかを廃止する必要があります。 Macを廃止するのか?Winを廃止するのか? マイコン系では、昔はリトルが多かったのですが、H8等の出現によりビッグも相当数増えています。 この状態でどちらかに統一すると、マイコン事業の約半数の会社を潰すことにもなりますね。 つまり、男を廃止するか?女を廃止するか?と言った感じに思えます。 すごくナンセンスな疑問です。

  • _mile_
  • ベストアンサー率57% (71/124)
回答No.1

根拠はまったくないのですが... むかーしむかし,OSとかBIOSとかいう概念もなくて,ひとつのハードウェアに対してひとつのソフトだけが動くというのが当然だった時代では,「分かれた」というよりも,それぞれのハードウェア(またはそれを開発した人のポリシー)ごとにリトルエンディアンとビッグエンディアンが統一されず使われているのは当然だったと思います. ディスプレイの画面描写をイメージしていただけると分かりやすいかと思いますが, 「機械は下位ビットから情報を書き込んでいくので,画面右下をスタートにして情報を描いていく」のがリトルエンディアン. 「人間が数字を書くときは最上位ビットから情報を描いていくので,画面左上をスタートにして情報を描いていく」のがビッグエンディアン ですね. 統一するとなると,例えば「来年からビッグエンディアンを廃止しますっ」となった場合,今まであるビッグエンディアン前提のプログラムは全て書き換えないといけないわけで,それこそ2000年問題以上の大混乱が予想されるかと... んーと・・・あまり期待されてるような答えになってない気が... ぇと.バイエンディアン というのはモードによってリトルエンディアンとビッグエンディアンを切り替えできるものです. (ちなみに私が2進計算するときはリトルエンディアンです・・・「人間」はどっちのエンディアン派が多いのでしょうね?)

romeo333sleeper
質問者

お礼

回答ありがとうございます。 >2000年問題以上の大混乱が予想されるかと... というのは、私も同感です。しかし、ここまでこれらの方式が並立して進化してきたのには、統一しない他の理由があるのでは?と、思い質問させていただきました。 ちなみに、私も2進計算をするときはリトルエンディアン派です。21までだったら指計算ですけど…

関連するQ&A

  • リトルエンディアンの1byteデータのビット割付

    リトルエンディアン方式と聞くと2byteデータだったら上位下位が逆転して メモリに割りついているって認識なんですけども、ビット割付も逆転している認識 で問題ないでしょうか? 例えば、1byteの0x1Fというデータがリトルエンディアン方式のビット割付だった場合 1111 0001という割付になるのでしょうか?

  • リトルエンディアン、ビッグエンディアンについて

    リトルエンディアン、ビッグエンディアンについて 質問があります。 (1)簡単にそのPCがリトルエンディアンなのか、ビッグエンディアン  なのか、分かる方法はありますか?  簡単なCプログラムを書いてメモリ状態をダンプするのが、  一番早いのでしょうか?  それとも、Intel系?モントローラ系?CPUにはあまり詳しくないので、  分かりませんが、これらのどちらかに属していれば決められるので  しょうか?ほかの系とかあるのかな・・・ (2)ネットワークプログラミングをするときに、ビッグエンディアンの  マシンからデータを送出する場合には、htonlなどの関数を使用しなく  ても問題ありませんでしょうか?(ネットワークバイトオーダが  ビックエンディアンであるため)

  • エンディアンについて。

    リトルエンディアンとビッグエンディアンそれぞれのメリット・デメリットを教えて下さい。

  • そもそも何故、2つのエンディアンが存在するのでしょう?

    CPUのエンディアンにはリトルエンディアンとビッグエンディアンの2種がありますが,そもそも何故2つのことなるエンディアンが存在するのでしょうか。 同じようなタイミングで2つの有力な規格が現れたのでしょうか。誰か教えてください。

  • リトルエンディアン形式、ビッグエンディアン形式

    仕事上でリトルエンディアン形式、ビッグエンディアン形式を使う?のですが意味がまったく解りません 簡単に言ったら JPEGで容量:1.5M、サイズ:640x640、リトルエンディアン形式 JPEGで容量:1.5M以上、サイズ:639x639、ビッグエンディアン形式 となっています 何をどうすればイイのでしょうか? 初めてなので戸惑ってます ちなみにこの作業はコンテンツ作成です

  • 朝鮮半島統一はドイツ方式かベトナム方式か、どちら?

    朝鮮半島統一は行き詰まった東ドイツを西ドイツが統合したドイツ方式、つまり行き詰まった北朝鮮を韓国が統合する事になるのでしょうか。それとも北ベトナムが南ベトナムに武力侵攻して統合するベトナム方式、つまり北朝鮮が韓国を何らかの方法で統合するのでしょうか。どちらになると思いますか。 韓国はドイツ方式を望んでいるようですが、統合を推し進める有能な指導者が韓国に存在するか不明、初期費用だけで119兆円かかると言われ、韓国の経済力では到底無理、国際的な約束も守れない国家を諸外国が支援することもなさそうでドイツ方式は結局可能だと思いますか。 ベトナム方式は文在寅が韓国を北の金王朝に捧げる政策を露骨に推し進めている現状がありお金もかかりませんが、核を持つ共産王朝国の存在を日米中露ともに認めるか問題ですし、日本にとっては500万人とも言われる難民が韓国から日本に押し寄せる恐れがあります。 質問は、次のうち可能性が高いのはどれだと思いますか。 1.ドイツ方式で韓国主体の統一が実現する。 2.ベトナム方式で北朝鮮が武力統一する。 3.現状の韓国、北朝鮮の並立が当分継続する。 4.中国の朝鮮省になるか属国になる。

  • エンディアンを知るには

    リトルエンディアンのマシンで作ったバイナリデータをいろいろなマシンで読み込みたいのですが、一部がビッグエンディアンなので変換の必要があります。ただ、ソースを共通にしたいのでエンディアンを知ることができるマクロの値でエンディアンの違いの処理を行いたいのですが、どのようなマクロを使えばいいのでしょうか?

  • ~~方式

    よく参考書や問題集などに、代ゼミ方式とかトライ方式というような言葉がありますが、あれって意味があるのでしょうか? 何か教え方に特徴があるようには思えないのですが。

  • ビックエンディアンで動作するPC

    バイトオーダでビックエンディアンとリトルエンディアンがあるのは知っていますが、 実際にビックエンディアンで動作するPCを見たことがありません。 (といいますかビックエンディアンで動作しているか分かりません) 秋葉原等でビックエンディアンで動作するPC(CPU・マザーボード)は買うことはできるのでしょうか? その場合のOS、Linuxになると思いますがディトリビューションどれがよいのでしょうか? クロスコンパイル環境に興味があり、エンディアンが違うPCでも動作するプログラムを 書いてみたいと興味があり質問させていただきました。

  • UTF-8とUTF-16およびUTF-32について

    Unicodeにおける各文字エンコーディングについてですが なぜ、UTF-16およびUTF-32の文字コードがビッグエンディアンとリトル・エンディアンの二通りの組み合わせを許容できてUTF-8が許容できないのかがわかりませんなぜでしょうか?