Допустим, что человек должен ввести строку символов, напечатанных на бумаге в компьютер. Символы на бумаге напечатаны побайтно в виде пар шестнадцатеричных цифр и разделены пробелами. К каждой строке прилагается контрольная сумма для того, чтобы выяснить, не ошибся ли человек при вводе.
Вопрос: как сделать так, чтобы контрольная сумма показывала не только факт «строка введена корректно/некорректно», но так же и конкретно номер первого неправильно введённого символа?
Символов на строку пусть ограниченное количество, к примеру не более (80-N)/3 ~= 20..25.
«математика уровня младших классов школы» писали они…
Если это в принципе возможно, то почему ни один из форматов из колонки «File Formats» со страницы https://srecord.sourceforge.net/ так не делает?
Если это невозможно, то с чего бы это? Первое что приходит в голову, посчитать бит чётности в каждом байте, затем сконкатенировать. 24..25 битов / 4 ~= 6..7 шестнадцатеричных цифр. Да, контрольная сумма длинная, но довольно очевидно, что она сразу покажет, в каком байте что-то не так. Это показывает принципиальную возможность. Но наверное можно сделать контрольную сумму более короткой?
Уверен, что для младших классов это излишне круто. Вообще, когда речь идёт про вероятности возникновения и/или выявления ошибок, эти самые вероятности сразу переносят математику на уровень третьего курса ВУЗа.
Ещё есть такие слова как «локаторы ошибок» и «поиск Ченя» в википедии. Но для меня это сложные слова, нужно понятное объяснение.