2 added 135 characters in body

I went through a question which askedHow to represent $$0.145 * 2^{14}$$$$0.148 * 2^{14}$$ in normalized floating point arithmetic with the format

1 - Sign bit
7 - Exponent in Excess-64 form
8 - Mantissa


$$(0.145)_{10} = (0.00100101001...)_2$$ (say A).$$(0.148)_{10} = (0.00100101\;111...)_2$$

We shift it 3 bits to left to make it normalized $$(1.00101001)_2 * 2^{11}$$$$(1.00101\;111)_2 * 2^{11}$$.

Exponent = $$11+64 = (75)_{10} = (1001011)_2$$ and Mantissa = $$(01001001)_2$$$$(01001\;111)_2$$.

So floating point representation should beis $$(0\;1001011\;00101001)_2 = (4B29)_{16}$$.$$(0\;1001011\;00101111)_2 = (4B2F)_{16}$$ Representation A

But if we store the solution considered $$(0.145)_{10} = (0.00100101)_2$$(uptodenormalized mantissa into 8 bits only). Shiftingbit register, then it won't have stored the last three $$1$$s and then the mantissa would have normalized from $$(0.00100101)_2$$ to left$$(1.00101\;000)_2$$ by inserting zeroes to the right makes it3 $$(01001000)_2$$$$0$$s instead of $$(01001001)_2$$$$1$$s. And the

The representation becomeswould have been $$(4B28)_{16}$$.$$(0\;1001011\;00101000)_2 = (4B28)_{16}$$ Representation B

So while normalizing, does the processor takes into account the denormalized mantissa bits beyond 8 bits too? Or just rounds it off? Which one is correct: A or B?

Does it store the mantissa in fixed point representation? How does it all work?

I went through a question which asked to represent $$0.145 * 2^{14}$$ in normalized floating point arithmetic with the format

1 - Sign bit
7 - Exponent in Excess-64 form
8 - Mantissa


$$(0.145)_{10} = (0.00100101001...)_2$$ (say A). We shift it 3 bits to left to make it normalized $$(1.00101001)_2 * 2^{11}$$.

Exponent = $$11+64 = (75)_{10} = (1001011)_2$$ and Mantissa = $$(01001001)_2$$.

So floating point representation should be $$(0\;1001011\;00101001)_2 = (4B29)_{16}$$.

But the solution considered $$(0.145)_{10} = (0.00100101)_2$$(upto 8 bits only). Shifting it to left by inserting zeroes to the right makes it $$(01001000)_2$$ instead of $$(01001001)_2$$. And the representation becomes $$(4B28)_{16}$$.

So while normalizing, does the processor takes into account the mantissa bits beyond 8 bits too? Or just rounds it off?

Does it store the mantissa in fixed point representation? How does it all work?

How to represent $$0.148 * 2^{14}$$ in normalized floating point arithmetic with the format

1 - Sign bit
7 - Exponent in Excess-64 form
8 - Mantissa


$$(0.148)_{10} = (0.00100101\;111...)_2$$

We shift it 3 bits to left to make it normalized $$(1.00101\;111)_2 * 2^{11}$$.

Exponent = $$11+64 = (75)_{10} = (1001011)_2$$ and Mantissa = $$(01001\;111)_2$$.

So floating point representation is $$(0\;1001011\;00101111)_2 = (4B2F)_{16}$$ Representation A

But if we store the denormalized mantissa into 8 bit register, then it won't have stored the last three $$1$$s and then the mantissa would have normalized from $$(0.00100101)_2$$ to $$(1.00101\;000)_2$$ by inserting 3 $$0$$s instead of $$1$$s.

The representation would have been $$(0\;1001011\;00101000)_2 = (4B28)_{16}$$ Representation B

So while normalizing, does the processor takes into account the denormalized mantissa bits beyond 8 bits too? Or just rounds it off? Which one is correct: A or B?

Does it store the mantissa in fixed point representation? How does it all work?

1

# Normalizing the mantissa in floating point representation

I went through a question which asked to represent $$0.145 * 2^{14}$$ in normalized floating point arithmetic with the format

1 - Sign bit
7 - Exponent in Excess-64 form
8 - Mantissa


$$(0.145)_{10} = (0.00100101001...)_2$$ (say A). We shift it 3 bits to left to make it normalized $$(1.00101001)_2 * 2^{11}$$.

Exponent = $$11+64 = (75)_{10} = (1001011)_2$$ and Mantissa = $$(01001001)_2$$.

So floating point representation should be $$(0\;1001011\;00101001)_2 = (4B29)_{16}$$.

But the solution considered $$(0.145)_{10} = (0.00100101)_2$$(upto 8 bits only). Shifting it to left by inserting zeroes to the right makes it $$(01001000)_2$$ instead of $$(01001001)_2$$. And the representation becomes $$(4B28)_{16}$$.

So while normalizing, does the processor takes into account the mantissa bits beyond 8 bits too? Or just rounds it off?

Does it store the mantissa in fixed point representation? How does it all work?