1

32 ビット アドレスを使用するキャッシュ シミュレータを作成しています。bitset<32> を使用してアドレスを格納します。複数ビットのアドレスにアクセスしてデコードしようとすると、問題が発生します。例えば:

int index = address[index_MSB, index_LSB].to_ulong();

アドレスのいくつかのビットにアクセスして、int に変換しようとしています。エラーの原因になります。これを行う方法はありますか?ありがとう!

例:

アドレス = 0x12345678;

インデックス_MSB = 5;

インデックス_LSB = 2;

アドレス [2] からアドレス [5] までの 4 ビット (ここでは 1110) が必要で、int 値: 14 に変換します。

4

1 に答える 1