Original code, inverse code, complement code, frameshift, true value (and (8C5A3E00) 16 calculation)
True value: symbol bit + | X |
Generally 0 positive 1 negative
Negative number:-8 binary 8 bit means:
1) True value XRV-1000
2) Source code: 1 0001000
3) inverse code: 1 1110111 (symbol bits remain unchanged, other bits are inverted)
4) complement: 1 1111000 (symbol bit unchanged, last bit plus one) [+ 0] complement = [- 0] complement = 0000000
5) offset value: the title is given (eg1: word length is 8 digits, offset value is 2 ∧ 7 eg2 iee 754: segment floating point = 127)
6) frameshift: [X] shift = offset value + X [- 8] shift = 1 0000000-1000 = 0 1111 (the highest bit of frameshift and complement are opposite, the rest bits are the same here 0 minus 1 positive) [+ 0] shift = [- 0] shift = 1 0000000
Positive number: original code = inverse code = complement code
(11001.101) (II) Integer part: the following appears 2 (x) to the x power of 2, which means 1x 2 (4) + 1x 2 (3) + 0x 2 (2) + 0x 2 (1) + 1x 2 (0) = 25 decimal part: 1x 2 (- 1) + 0x 2 (- 2) + 1x 2 (- 3) = 0.625, so: (11001.101) (II) = (25.625) (10)
Typical examples
A floating-point number is 32 bits long and has the following format. Among them, the order code part is 8 (0-7 bits), with 2 as the base, the shift code is expressed; the Mantissa part is a total of 24 (9-31) bits (including 1 (8 bit) digits), the complement is expressed. The existing floating point code is (8 C5A3E00) 16, try to write the decimal true value it represents.
Convert the core to binary-> IEEE754 standardization-- > calculate the result
Time Fengjun Langke Jinfeng Science and Technology