The answer that I gave myself is the following:
a has a length of 32: so, b can be used as an index where, for the first half, I am indexing from 0 to 15, and for the second half I can index from 16 to 32, just by using the first hexadecimal digit (mask of 0x0F
).
then, I can use the extra space to carry out an extra operation, which is whether I need to perform the operation at all or not. In this case, 0 is seen as the no-value by just using the high bit from the remaining part of the hexadecimal digit, 0x80
.
Then, I agree with @Homer512 's comment, which also stated that this makes it also useful to work on OR operations.