Question:

Consider three floating point numbers \(A\), \(B\) and \(C\) stored in registers \(R_A\), \(R_B\) and \(R_C\), respectively as per IEEE-754 single precision floating point format. The 32-bit content stored in these registers (in hexadecimal form) are as follows. \(R_A = 0xC1400000\), \(R_B = 0x42100000\), \(R_C = 0x41400000\) Which one of the following is FALSE?

Show Hint

Always check the conversion of floating point numbers to IEEE-754 format to verify calculations, especially when working with arithmetic operations.
Updated On: Jan 11, 2026
  • \( A + C = 0 \)
  • \( C = A + B \)
  • \( B = 3C \)
  • \( (B - C) > 0 \)
Hide Solution
collegedunia
Verified By Collegedunia

The Correct Option is B

Solution and Explanation

To solve this problem, we need to first convert the hexadecimal values into their IEEE-754 single precision binary format (32-bit format). The IEEE-754 format breaks the number into three parts: sign bit, exponent bits (8 bits), and fraction (mantissa) bits (23 bits). Let's decode each number: - \( R_A = 0xC1400000 \): This corresponds to -8.0. In binary: \[ 0xC1400000 = 1100 \, 0001 \, 0100 \, 0000 \, 0000 \, 0000 \, 0000 \, 0000 \] It represents -8.0 in floating point. - \( R_B = 0x42100000 \): This corresponds to 10.0. In binary: \[ 0x42100000 = 0100 \, 0010 \, 0001 \, 0000 \, 0000 \, 0000 \, 0000 \, 0000 \] It represents 10.0 in floating point. - \( R_C = 0x41400000 \): This corresponds to 8.0. In binary: \[ 0x41400000 = 0100 \, 0001 \, 0100 \, 0000 \, 0000 \, 0000 \, 0000 \, 0000 \] It represents 8.0 in floating point. Now let's check the options: - Option (A) \( A + C = 0 \): Since \( A = -8.0 \) and \( C = 8.0 \), it follows that: \[ A + C = -8.0 + 8.0 = 0 \] This is true. - Option (B) \( C = A + B \): Since \( A = -8.0 \) and \( B = 10.0 \), we check: \[ A + B = -8.0 + 10.0 = 2.0 \] However, \( C = 8.0 \), so this is false. The correct relation would be \( C = A + B \) if the result was 8.0, but it is 2.0. - Option (C) \( B = 3C \): Since \( B = 10.0 \) and \( C = 8.0 \), we check: \[ 3C = 3 \times 8.0 = 24.0 \] But \( B = 10.0 \), so this is false. This is incorrect because \( B \neq 3C \). - Option (D) \( (B - C) > 0 \): Since \( B = 10.0 \) and \( C = 8.0 \), we check: \[ B - C = 10.0 - 8.0 = 2.0 \] Since \( 2.0 > 0 \), this is true. Therefore, the correct answer is (B).
Was this answer helpful?
0
0