正答2
解説
正解は2です。
エンディアンは、複数バイトのデータをメモリに並べる順序のことです。
リトルエンディアンは、下位のバイトから順に小さいアドレスへ格納する方式です。
【処理の流れ】
16進数ABCD1234を1バイト(2桁)ずつ区切ると、上位から AB、CD、12、34 になります。
リトルエンディアンでは、最下位バイトの34をオフセット0に置きます。
続いて、12をオフセット+1、CDをオフセット+2、ABをオフセット+3に置きます。
【選択肢別解説】
1:× 12、34、AB、CD の順は、上位と下位の2バイトずつを入れ替えただけの並びです。
バイト単位で逆順にはなっていません。
2:○ 34、12、CD、AB の順は、下位バイトから小さいアドレスへ並べたリトルエンディアンの配置です。
3:× 43、21、DC、BA の順は、1バイトの中の16進数の桁まで逆にしています。
エンディアンはバイト単位の並び順なので、バイトの中身は入れ替えません。
4:× AB、CD、12、34 の順は、上位バイトから小さいアドレスへ並べるビッグエンディアンの配置です。
【ポイント】
ビッグエンディアンは「数字を書く順のまま」、リトルエンディアンは「バイト単位で逆順」と覚えましょう。
入れ替えるのは2桁ずつのバイト単位で、1桁ずつではない点に注意が必要です。