So I have 97 Monster with type >= 7 but only 54 with the 'bit' set for holding items.

Any number >7 *has* to have the bit set. So if you have toe 8 or 9 (or anything above) then the number 3 bit is set, not clear.

Think about it using the full binary notation.... When you convert binary to a number the "easy" way, you add 1,2,4 ,8 for whenever bits 0,1,2,3 are set.

So 0001 has only bit 0 set... That is 1 in decimal.

0101 has bits 0 and 2 set.... That's 1+4 = 5 in decimal.

1000 has bit 3 set..... 8 in decimal

Any more than that *has* to have bit 3 set, and therefor gives a decimal value >=8

1111 for example is 1+2+4+8 = 15