How Do You Convert Decimal to Binary Using MIPS Code?

  • Thread starter Thread starter hkboy123
  • Start date Start date
  • Tags Tags
    Binary Mips
Click For Summary
To write MIPS code for converting a decimal number to binary, it's important to understand that if the number is stored as a standard word-based integer, it is already in binary format in memory. The process involves extracting each bit from the integer and printing it. The suggested approach uses a loop to shift the integer right and apply a bitwise AND operation to isolate each bit. The pseudo-code outlines a method where an array or string is used to store the binary representation, with the right shift operator (>>) and bitwise AND being key operations. Adjustments can be made to the indexing to change the order of the output.
hkboy123
Messages
2
Reaction score
0
Hello. I was simply wondering if anyone has any idea on how to write a MIPS code to convert a decimal number to its binary number. Anyone can help me?
 
Technology news on Phys.org
hkboy123 said:
Hello. I was simply wondering if anyone has any idea on how to write a MIPS code to convert a decimal number to its binary number. Anyone can help me?

What is the memory representation of your number?
 
integer
 
hkboy123 said:
integer

If its a standard word based integer, it is already in binary form in memory, and all you have to do is to get each bit and print the value. I don't know the platform you are using so I'll do pseudo-code:

Assuming unsigned integer:

x = size of word in bits
For i = 0 to x-1
bitarray[x-i-1] = (Word Value >> i) AND 1
Next i

The >> is a right shift operator, and AND is a bitwise AND instruction, not the comparison operator.

Bitarray has an array containing each digit value from left to right as you would read it if it were printed. If you want it the other way just modify the index in the loop. What you would do instead of creating the array, you would basically allocate some space for a string and then the value of the jth character would be equal to:

string[j] = '0' + (((Word Value >> i) AND 1) AND 255).
 
Learn If you want to write code for Python Machine learning, AI Statistics/data analysis Scientific research Web application servers Some microcontrollers JavaScript/Node JS/TypeScript Web sites Web application servers C# Games (Unity) Consumer applications (Windows) Business applications C++ Games (Unreal Engine) Operating systems, device drivers Microcontrollers/embedded systems Consumer applications (Linux) Some more tips: Do not learn C++ (or any other dialect of C) as a...

Similar threads

Replies
1
Views
10K
  • · Replies 29 ·
Replies
29
Views
3K
  • · Replies 3 ·
Replies
3
Views
39K
  • · Replies 57 ·
2
Replies
57
Views
5K
  • · Replies 3 ·
Replies
3
Views
1K
Replies
13
Views
3K
  • · Replies 9 ·
Replies
9
Views
14K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
1
Views
2K