本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成23年度 春期 応用情報技術者試験問題と解説

問11

主記憶の1000番地から、表のように4バイトの整数データが格納されている。これを32ビットのレジスタにロードするとき、プロセッサのエンディアンとレジスタにロードされる数値との組合せとして、正しいものはどれか。

   ┌───────┬───┐
   │バイトアドレス│データ│
   ├───────┼───┤
   │  1000  │ 00 │
   ├───────┼───┤
   │  1001  │ 01 │
   ├───────┼───┤
   │  1002  │ 02 │
   ├───────┼───┤
   │  1003  │ 03 │
   └───────┴───┘

   ┌─────────┬─────────┐
   │リトルエンディアン│ビッグエンディアン│
 ┌─┼─────────┼─────────┤
 │ア│ 00010203 │ 02030001 │
 ├─┼─────────┼─────────┤
 │イ│ 00010203 │ 03020100 │
 ├─┼─────────┼─────────┤
 │ウ│ 02030001 │ 00010203 │
 ├─┼─────────┼─────────┤
 │エ│ 03020100 │ 00010203 │
 └─┴─────────┴─────────┘


正解


解説

例えば 0xA1B2C3D4 という4バイトのデータをメモリに格納する時
リトルエンディアンでは、D4 C3 B2 A1 の順に配置され、
ビッグエンディアンでは、A1 B2 C3 D4 の順に配置される。

データを00、01、02、03の順でレジスタにロードすると
リトルエンディアンでは、03、02、01、00
ビッグエンディアンでは、00、01、02、03となる。

問10 目次 問12