Вы можете использовать битовые маски. Фактически, поцарапайте это - вы должны использовать битовые маски! Это почти наверняка, как код ошибки был создан, и это, как это должно быть выделено. Все остальное может привести в замешательство вашу аудиторию других программистов.
Я не претендую на то, чтобы представлять всех программистов, и при этом я не претендую на то, чтобы быть хорошим, но я программист, и все остальные ответы смутили меня. Это, очевидно, побитовая «проблема», так зачем запутывать?
Нет необходимости хранить результаты в любом месте, так как каждый раз пересчитывать результат так же быстро, например:
for(int i=0;i<8;++i) {
if((error&(1<<i))!=0 {
// 1<<i is in the resulting list.
}
}