• Welcome to forex.pm forex forum binary options trade. Please login or sign up.
 

How do you derive "0x008000 is the smallest legal value for the lower 24 bits since targets are always stored with the lowest possible exponent"?

Started by Bitcoin, Feb 03, 2022, 04:07 am

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Bitcoin

How do you derive "0x008000 is the smallest legal value for the lower 24 bits since targets are always stored with the lowest possible exponent"?

From https://en.bitcoin.it/wiki/Difficulty:



How is difficulty stored in blocks?


Each block stores a packed representation (called "Bits") for its actual hexadecimal target. The target can be derived from it via a predefined formula. For example, if the packed target in the block is 0x1b0404cb (stored in little-endian order: cb 04 04 1b), the hexadecimal target is


0x0404cb * 2**(8*(0x1b - 3)) = 0x00000000000404CB000000000000000000000000000000000000000000000000

Note that this packed format contains a sign bit in the 24th bit, and for example the negation of the above target would be 0x1b8404cb in packed format. Since targets are never negative in practice, however, this means the largest legal value for the lower 24 bits is 0x7fffff. Additionally, 0x008000 is the smallest legal value for the lower 24 bits since targets are always stored with the lowest possible exponent.



What does the last sentence mean? I don't understand why there is a lower bound.


Source: How do you derive "0x008000 is the smallest legal value for the lower 24 bits since targets are always stored with the lowest possible exponent"?