Я новичок в мипсах. Я знаю основные функции (как использовать регистры, печатать и сканировать целые числа с помощью системного вызова), но я наткнулся на стену, пытаясь понять, как получить доступ к отдельным битам 32-битного целого числа, чтобы подсчитать количество единиц, которые в этом. Я думал, что мне, возможно, пришлось создать массив целых чисел для представления всех битов? Но я чувствую, что должен быть более простой способ.
Оценка отдельных битов в int в mips?
comment
Пожалуйста, сообщите, что и как вы пробовали.
- person Akshat   schedule 09.12.2013
comment
Что вам нужно, так это popcount, и вы можете начать читать об этом здесь а>.
- person Michael   schedule 09.12.2013
comment
Я мог бы что-то упустить, но этот ваш поп-счет не решает вопрос о том, как получить доступ к отдельным битам в int в MIPS... почему за это вообще проголосовали??
- person Jandro Rojas   schedule 25.05.2019
Ответы (1)
в принципе:
int countOnes(int number)
{
int count = 0;
for (int i = 1; i < 32) {
count += number & 1;
number >>= 1;
}
return count;
}
person
imel96
schedule
09.12.2013
пользователь ясно сказал MIPS... этот ответ бесполезен
- person Jandro Rojas; 25.05.2019
Там нет упоминания о порядке следования байтов, и MIPS может делать и то, и другое? linux-mips.org/wiki/Endianness
- person imel96; 26.05.2019