Как расшифровать флаги от VK API?
if (x & 512) {
  //флаг MEDIA стоит
} else {
  //флаг MEDIA сброшен
}
Так же с другими флагами: 2 - для OUTBOX, 4 - для REPLIED и т . д.
Смотрим четная или нечетная у нас сумма, если нечетная, значит точно есть флаг 1.
Вычитаем его.
Дальше проходимся по сумме, каждый раз ищем максимальную степень двойки, считаем флаг, запоминаем его и вычитаем из суммы.
Собственно вот набросал вариант на js(смотрите вывод в консоли): 
https://jsfiddle.net/littleguga/enzkq9gd/jsbin.com/mugucuhafu/edit?js,console,outputupd:
Lander предложил более красивый вариант: Как расшифровать флаги от VK API?