Вычисление 8-битной контрольной суммы шестнадцатеричной строки - PullRequest
0 голосов
/ 20 ноября 2018

Мне нужно вычислить 8-битную контрольную сумму, используя javascript для заданной строки HEX.

Я нашел этот сайт (http://easyonlineconverter.com/converters/checksum_converter.html) делает это правильно, но я не могу воспроизвестиТакой же ответ на мой код

1006 * Пример Hex строка:. 6101599669594F7F13CC72F4FC942FFD8080FF0322FE8AFFFE0000FA0000FA0000FA0000FA0000FA0000FA0000FA0000FA0000FA0000FA0000FA0000FA0000FA0000FA0000FA000073F2E02020207E3FFFE1656E67C13FFF7413CCBCBB

8 бит контрольной суммы ответ: 8A

1010 * Как я понимаю, это работает: 1012 Разбейте строку на пары двух шестнадцатеричных значений (например, 61, 01, 59, 96) и сложите их вместе: 0x61 + 0x01 + 0x59 + 0x96 = 97 + 1 +89 + 150 = 337. ПреобразоватьВсего в двоичном представлении: 337 = 0000000101010001 Добавить 1: 0000000101010010 взять 8 старших значащих бит: 01010010 Перевернуть биты (0 становится 1, а 1 становится 0): 10101101 Преобразование обратно в шестнадцатеричное: 10101101 = AD

Этот вопрос заключается в том, что ответ shможет быть AF (не AD)

Вопрос: почему я такой тупой?И что я тут не так делаю?

...