Answer:
a) 56789₁₀ = 11011110111010101₂ (unsigned integer)
b) 56789₁₀ = 0000000011011110111010101₂ (Two's complement)
c) 56789₁₀ = 01010110011110001001 (BCD)
d) 56789₁₀ = ÝÕ (ASCII)
e) 56789₁₀ = 0 - 1000 1110 - 101 1101 1101 0101 0000 0000 (IEEE single precision)
Step-by-step explanation:
a) 56789₁₀ = (1 × 2¹⁵) + (1 × 2¹⁴) + (0 × 2¹³) + (1 × 2¹²) + (1 × 2¹¹) + (1 × 2¹⁰) + (0 × 2⁹) + (1 × 2⁸) + (1 × 2⁷) + (1 × 2⁶) + (0 × 2⁵) + (1 × 2⁴) + (0 × 2³) + (1 × 2²) + (0 × 2¹) + (1 × 2⁰) = 11011110111010101₂
This requires 2 bytes - 16 bits and hexadecimal byte value of DDD5.
2) since the number is positive, the two's complement is just that same binary number with a signed 0 to indicate positive number in front.
56789₁₀ = 0000000011011110111010101₂
This requires 3 bytes - 24 bits and hexadecimal byte value of 11DDD5.
c) BCD
This converts each single bit in the base-10 to binary.
5 = 0101, 6 = 0110, 7 = 0111, 8 = 1000, 9 = 10001, then combined, we have
56789₁₀ = 01010110011110001001 (BCD)
It's an historic code.
This requires 3 bytes - 24 bits and hexadecimal byte value of 56789.
d) ASCII
This uses symbols to represent the numbers.
56789₁₀ = ÝÕ (ASCII)
This requires 1 byte - 8 bits.
e) IEEE single precision
Step 1, convert to base 2
56789₁₀ = 11011110111010101₂
Step 2, normalize the binary,
11011110111010101₂ =11011110111010101 × 2⁰ = 1.1011110111010101 × 2¹⁵
Sign = 0 (a positive number)
Exponent (unadjusted) = 15
Mantissa (not normalized) = 1.1011110111010101
Step 3, Adjust the exponent in 8 bit excess/bias notation and then convert it from decimal (base 10) to 8 bit binary
Exponent (adjusted) = Exponent (unadjusted) + 2⁽⁸⁻¹⁾ - 1 = 15 + 2⁽⁸⁻¹⁾ - 1 = (15 + 127)₁₀ = 142₁₀
Exponent (adjusted) = 142₁₀ = 1000 1110₂
Step 4, Normalize mantissa, remove the leading (the leftmost) bit, since it's allways 1 (and the decimal point, if the case) then adjust its length to 23 bits, by adding the necessary number of zeros to the right:
Mantissa (normalized) = 1.101 1101 1101 0101 0000 0000 = 101 1101 1101 0101 0000 0000
Therefore,
56789₁₀ = 0 - 1000 1110 - 101 1101 1101 0101 0000 0000
This requires 4 bytes - 32 bits and hexadecimal byte value of 8E5DD500.
Hope this helps!