If you created two very large numbers represented by binary data (perhaps using sha512 with random input for each hash) could you determine what binary block is numerically larger by iterating over bytes from left (largest bit) to right (smallest bit)? If at any point the left has a 0 bit where the right has a 1, you’d know the right is larger. Where the bytes are the same, you eliminate them and continue iterating to the right.
Would this work?