Как сделать анализ двоичных кодов на возможность обнаружения?
Скажем так - эта задача не относится прям к плюсам. Тут больше про алгоритмизацию, математику и вот это все. А язык всего лишь инструмент. Так что вот берете гугл, и читаете про "коды коррекции" и прочее.
наивный кодировщик Хэмминга
выводятся колонки:
двоичный код | его десятичное представление | кодируемое число
N = 64 означает 6-битное слово, N = 256 - 8-битное
M = 3 - число бит, в котором каждый код отличается от остальных
экспериментируй c ними, не стесняйся.
function diff(a, b) {
    return (a ^= b).toString(2).replace('0', '').length
}

const N = 64, M = 3, res = [];
for (let i = 0; i < N; i++) {
    let flag = true;
    for (let n of res) {
        if (diff(i, n) < M) {
            flag = false
            break;
        }
    }
    if (flag) {
        console.log((i + N).toString(2).slice(1), i, res.length);
        res.push(i);
    }
}