Оценка отдельных битов в int в mips?

Я новичок в мипсах. Я знаю основные функции (как использовать регистры, печатать и сканировать целые числа с помощью системного вызова), но я наткнулся на стену, пытаясь понять, как получить доступ к отдельным битам 32-битного целого числа, чтобы подсчитать количество единиц, которые в этом. Я думал, что мне, возможно, пришлось создать массив целых чисел для представления всех битов? Но я чувствую, что должен быть более простой способ.


person user3081405    schedule 09.12.2013    source источник


Ответы (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
comment
пользователь ясно сказал MIPS... этот ответ бесполезен - person Jandro Rojas; 25.05.2019
comment
Там нет упоминания о порядке следования байтов, и MIPS может делать и то, и другое? linux-mips.org/wiki/Endianness - person imel96; 26.05.2019