Мне нужно преобразовать старшие n битов битов индекса (ПК) в младшие n битов битов индекса (ПК) в c ++.
Вот код для старших n битов индекса (ПК)) биты;
PCmask_gshare = (1073741823 >> ( 30 - (index_bits_gshare - history_bits)) ); //For m-n bits in gshare
Hmask = (1073741823 >> (30 - history_bits) ); //For n bits in gshare.
p = history_table ^ ( (address >> ( 2 + index_bits - history_bits)) & Hmask );
index = (p << (index_bits - history_bits)) + ((address >> 2) & PCmask_gshare );
Как я могу преобразовать это в младшие n бит (history_bits)?