Translate the following C++ source code into MIPS assembly language. I am using the QtSPIM compiler.
Translate the following C++ source code into MIPS assembly language. I am using the QtSPIM compiler.
#include <iostream>
using namespace std;
void decimalToBinary(int num)
{
int bin[32];
int count = 0;
while (num != 0)
{
bin[count] = num % 2;
num = num / 2;
count++;
}
for (int i = count - 1; i >= 0; i--)
cout << bin[i];
cout<<endl;
}
void decimalToOctal(int num)
{
int octal[32];
int count = 0;
while (num != 0)
{
octal[count] = num % 8;
num = num / 8;
count++;
}
for (int i = count - 1; i >= 0; i--)
cout << octal[i];
cout<<endl;
}
void decimalToHexa(int num)
{
char hexa[100];
int count = 0;
while (num != 0)
{
int t = num % 16;
if (t < 10)
hexa[count] = t + 48;
else
hexa[count] = t + 55;
count++;
num = num / 16;
}
for (int i = count - 1; i >= 0; i--)
cout << hexa[i];
cout<<endl;
}
int main()
{
int nums[10];
cout<<"Enter any 10 numbers between 0 to 255: \n";
for(int i = 0; i < 10; i++)
{
cin>>nums[i];
while(nums[i] < 0 || nums[i] > 255)
{
cout<<"Error! Number must be in range [0, 255]. Enter again: ";
cin>>nums[i];
}
}
for(int i = 0; i < 10; i++)
{
cout<<"\nDecimal Number: "<<nums[i];
cout<<"\nBinary Equivalent: ";
decimalToBinary(nums[i]);
cout<<"Octal Equivalent: ";
decimalToOctal(nums[i]);
cout<<"Hexadecimal Equivalent: ";
decimalToHexa(nums[i]);
}
return 0;
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps