Не сравнить, а выполнить операцию "логическое и" (AND). Она выполняется поразрядно (т.е. нулевой разряд первого операнда с нулевым разрядом второго операнда дают нулевой разряд результата, первые разряды -- первый разряд и т.д.). Для каждого разряда (т.е. одной двоичной цифры, бита):
0 and 0 = 0
0 and 1 = 0
1 and 0 = 0
1 and 1 = 1
Т.е. единица на выходе будет только в том случае, если единицы присутствуют в первом И втором операндах одновременно (отсюда и название -- И).
Переводим числа из шестнадцатеричной записи в двоичную и смотрим, что получается:
- Код: Выделить всё
FFFFFF00 = 1111 1111 1111 1111 1111 1111 0000 0000
00000100 = 0000 0000 0000 0000 0000 0001 0000 0000
--------------------------------------------------
0000 0000 0000 0000 0000 0001 0000 0000
Только 8-й разряд в обоих операндах равен 1, поэтому на выходе и получаем число 256 (100 в шестнадцатеричной системе).
Добавлено спустя 2 минуты 3 секунды:Блин, получилось криво, а редактирования не вижу

(( Просьба модераторам поправить.