Mips 如何将单词转换成二进制?

Mips 如何将单词转换成二进制?,mips,Mips,我有一个1010base 2 4位向量和一个1010base 10字。我需要证明他们是平等的。不完全确定你想做什么,这就是你想要的吗 // 1010(base10) = 0000 0011 1111 0010(base2) -> requires 16 bits unsigned base2 = 10; // 1010 in base 2 unsigned base10 = 1010; // Assume only 1's and 0's are used unsi

我有一个1010base 2 4位向量和一个1010base 10字。我需要证明他们是平等的。

不完全确定你想做什么,这就是你想要的吗

// 1010(base10) = 0000 0011 1111 0010(base2) -> requires 16 bits

unsigned base2 = 10;        // 1010 in base 2
unsigned base10 = 1010;     // Assume only 1's and 0's are used
unsigned answer = 0;

int bit = 0;

for (int bit = 0; base10 > 0; bit++)
{
    if (base10 % 10) answer |= (0x01 << bit);
    base10 /= 10;
}

// At this point answer = 1010(base2)

但它们不相等,基数2是10,基数10是1010,你是什么意思?我实际上在一个字中有1010,我需要将它转换成二进制,以便它与基数2中的10匹配。按位and和OR可用于提取和插入位,移位指令可用于移动位。你的问题并不清楚你到底有什么问题。