![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
не считается контрольная сумма [D5, NT4]
Natalie © (2002-08-14 20:32:00)Я считаю контрольную сумму файла и периодически у меня выходит сообщение об ошибки Range check error . кто-нибудь знает в чем проблема и как ее решить?
Jeer (2002-08-15 09:31:00) [1]>Геннадий (14.08.02 23:21)
>Слово и два слова...
Это для старых 16-р процессоров.
Сейчас слово - 32р на 32р процах и 64р на 64-х.
Геннадий (2002-08-14 23:21:00) [2]Слово и два слова...
Jeer (2002-08-14 22:53:00) [3]Приведи код тогда и советы будут точнее.
>но контрольная сумма - это байт, по-моему
Основные алгоритмы контрольных сумм - CRC16 и CRC32:
полуслово и слово соответственно (2 и 4 байта)
Геннадий (2002-08-14 22:43:00) [4]Я не знаю как именно ты считаешь сумму, но контрольная сумма - это байт, по-моему. Последний в сумме, что ли? Для подсчёта используй, например, LongWord, а сохраняй последний байт. По-моему, это так делается...
Anatoly Podgoretsky (2002-08-14 20:40:00) [5]Дело в том, что у тебя происходит переполнения счетчика, его можно отключить или глобально, через свойства проекта или только для определенного куска с помощью директивы {$RANGECHECKS OFF} и ыключить обратно {$RANGECHECKS ON}
Кстати для расчета используй Int64