I was under the impression that Bitcoin's method for validating a hash involved making sure the hash started with a pre-determined number of zeroes. However, after reading the docs here, I see the following sentence:
To prove you did some extra work to create a block, you must create a hash of the block header which does not exceed a certain value. To prove you did some extra work to create a block, you must create a hash of the block header which does not exceed a certain value. For example, if the maximum possible hash value is 2^256 − 1, you can prove that you tried up to two combinations by producing a hash value less than 2^255.
This is confusing to me, since according to my research the Bitcoin protocol uses the SHA256 hashing algorithm, which produces alphanumeric hashes. For instance, when I hash an empty file named "foobar.txt", I get "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855".
My question is, how can one alphanumeric hash output be "less than" another?