GET-запросы будут генерировать длинные, сложные URL-адреса с таким количеством параметров с поведением по умолчанию.
POST-запросы могут оставить вас с короткими URL-адресами, но могут плохо работать при нажатии кнопки "назад" и не будут поддерживать закладки.
Для создания коротких URL-адресов с помощью GET вам потребуется либо промежуточный скрипт, который переводит выбранные параметры во что-то более компактное, либо вам нужно будет наблюдать за выбранными параметрами с помощью JavaScript и создавать компактный URL-адрес на стороне клиента. *
Побитовая математика будет означать присвоение каждого бита или группы битов в одной переменной определенной опции и предопределенному набору значений. Например, 32-битное целое число может представлять 8 атрибутов по 4 бита каждый:
01010010010001001010101010101001
Или:
0101 0010 0100 0100 1010 1010 1010 1001
#8 #7 #6 #5 #4 #3 #2 #1
Таким образом, одно целое число может представлять восемь атрибутов с 16 возможными значениями на 4-битную группу. Очевидно, что это требует проработки, но я уверен, что кто-то в SO уже задавал этот вопрос, и я не собираюсь больше печатать прямо сейчас. :)