32 ビット アドレスを使用するキャッシュ シミュレータを作成しています。bitset<32> を使用してアドレスを格納します。複数ビットのアドレスにアクセスしてデコードしようとすると、問題が発生します。例えば:
int index = address[index_MSB, index_LSB].to_ulong();
アドレスのいくつかのビットにアクセスして、int に変換しようとしています。エラーの原因になります。これを行う方法はありますか?ありがとう!
例:
アドレス = 0x12345678;
インデックス_MSB = 5;
インデックス_LSB = 2;
アドレス [2] からアドレス [5] までの 4 ビット (ここでは 1110) が必要で、int 値: 14 に変換します。