World's most popular travel blog for travel bloggers.

# [Answers] Confusion in "mask bits"

, ,
Problem Detail:

This is the question:

By definition of the IEEE754 standard, 32-bit floating point numbers are represented as follows:

S (1 bit) E (8 bits) M (23 bits) S: Sign bit E: Exponent M: Mantissa

Which of the following is the correct "mask bits" in hexadecimal to be used for extracting only the exponent part of the above format?
Here, "mask bits" means a bit pattern which is logically ANDed withthe 32-bit floating point value.

a) 107FFFFF b) 7F800000 c) FF100000 d) FF800000

The given answer is b : 7F800000, but i have no idea why, can anyone give me an explanation, i'm greatly appreciated!

Is that because :

7F800000 = 0111 1111 1000 (8)

While others answer contain more `"1"` in binary format?

#### Answered By : svinja

When you bitwise `AND` a number in this format with `7F800000` you get:

``    SEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM AND 01111111100000000000000000000000    = 0EEEEEEEE00000000000000000000000 ``

Everything gets set to `0` except the exponent. Yes, it is necessary for the correct answer to have 8 ones, but it is also necessary that they are in the correct positions. `00007F80` would not be correct because it would result in:

``    SEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM AND 00000000000000000111111110000000    = 00000000000000000MMMMMMMM0000000 ``
###### Best Answer from StackOverflow

Question Source : http://cs.stackexchange.com/questions/30646

3.2K people like this

#### Post a Comment

Let us know your responses and feedback