|
Вопрос # 5 799/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
напишите, пожалуйста, функцию чтобы для ASCII строки, например, '12345', рассчитать через XOR контрольную сумму hex-представления элементов строки (31^32^33^34^35 = ..).
 |
Вопрос задал: AlexMPEI (статус: 1-ый класс)
Вопрос отправлен: 6 декабря 2011, 20:08
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Ой, да как два пальца об асфальт!
function XorString(const S: string): Byte;
var
Index: Integer;
begin
Result:= 0;
for Index:= 1 to Length(S) do
Result:= Result xor Byte(S[Index]);
end;
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 7 декабря 2011, 08:34
Оценка за ответ: 5
Комментарий к оценке: Точно!!! спасибо!
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 21 декабря 2011, 11:55; участников в обсуждении: 2.
|
AlexMPEI (статус: 1-ый класс), 21 декабря 2011, 10:29 [#1]:
Тут сделан Хор байт. Мне же нужно Хор HEX представлений этих байт. в этом и была сложность. задача в итоге не решена - по байтам считает неправильно (если считать Хор по HEX представлению этих байт, то результат получается другой). Так что вопрос снова открыт
|
|
min@y™ (статус: Доктор наук), 21 декабря 2011, 11:12 [#2]:
HEX представление байта - это 2 (два) байта (символа). Давай пример входных и выходных данных.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 21 декабря 2011, 11:45 [#3]:
пример: беру строку "0114000"
при подсчете контрольной суммы функцией выше получим 52
но если перевести все в байт (48 49 49 ...), а потом в HEX (30 31 31 34 30 30 30) и сделать ХОR HEX-представления, получим результат "33 34", т.е. "34"
вобщем пока печатал понял что все что мне надо - сконвертировать результат функции в НЕХ через IntToHex и я получу то что надо.
|
|
min@y™ (статус: Доктор наук), 21 декабря 2011, 11:55 [#4]:
Цитата (AlexMPEI):
вобщем пока печатал понял что все что мне надо - сконвертировать результат функции в НЕХ через IntToHex и я получу то что надо.
Ну наконец-то!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|