Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Теория программирования > Алгоритмы
Перезагрузить страницу Алгоритм подсчета
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
arlekin_1980 arlekin_1980 вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.07.2011
По умолчанию Алгоритм подсчета - 19.07.2011, 20:52

Добрый день . Не могу понять алгоритм вычисления суммы.
Есть файлик у него в конец по смещению(-2) записывается 1 байтовое число по какому-то принципу, единственное что выяснилось то что байты 0х00 и 0хFF не учитываются в подсчете.
И если изменить какой-нибудь байт предположим прибавим к нему 1, то контрольное число уменьшиться на 1 и наоборот если убавим на 1 оно увеличится.

Вот такой примерчик попробовал:
python Код:
buf = open('g:\config4_74.bin','rb').read()
check=0
for i in buf[:-2:]:
    check = check + (ord(i) % 255)
print "%X" % check

результат не тот что в конце файла:
- 583A
а долхно 0х79


файлик прилагается.

Если есть идеи , помогите.
Вложения
Тип файла: zip config4_74.zip (619 байт, 7 просмотров)
Ответить с цитированием
  (#2 (permalink)) Старый
Clickgg Clickgg вне форума
Member
 
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 19.07.2011
По умолчанию 24.07.2011, 04:57

Цитата:
buf = open('g:\config4_74.bin','rb').read()
check=0
for i in buf[:-2:]:
check = check + (ord(i) % 255)
print "%X" % check
-------------------------------------
что это за язык?
могу конечно ошибаться за незнанием синтаксиса
но что бросается в глаза
Java Код:
[B]for i in buf[:-2:]:
    check = check + (ord(i) % 255)[/B]
интересует этот момент
1) Просто цикл без увелечения i?
тогда можно написать без цикла просто
cpp Код:
check = check + (ord(i) % 255) - кстате i - инициализированно чем?
вообще имхо какой-то бред написан но возможно попробую помочь
buf = open('g:\config4_74.bin','rb').read()
check=0
for i in buf[:-2:]:
    check = check + (ord(buf(i)) % 255)
     i=i+1
print "%X" % check
Ответить с цитированием
  (#3 (permalink)) Старый
arlekin_1980 arlekin_1980 вне форума
Новичок
 
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.07.2011
По умолчанию 25.07.2011, 16:58

Цитата:
Сообщение от Clickgg Посмотреть сообщение
-------------------------------------
что это за язык?
вроде как в подсветке написано python
Цитата:
Сообщение от Clickgg Посмотреть сообщение
-------------------------------------
1) Просто цикл без увелечения i?
тогда можно написать без цикла просто
cpp Код:
check = check + (ord(i) % 255) - кстате i - инициализированно чем?
вообще имхо какой-то бред написан но возможно попробую помочь
buf = open('g:\config4_74.bin','rb').read()
check=0
for i in buf[:-2:]:
    check = check + (ord(buf(i)) % 255)
     i=i+1
print "%X" % check
А ваш вариант, умрет не успев родиться
Даже вы сами не поняли что написали , если вы даже сишник то семантика языка на си не допускает так работать с буфером
Ответить с цитированием
  (#4 (permalink)) Старый
Clickgg Clickgg вне форума
Member
 
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 19.07.2011
По умолчанию 28.07.2011, 19:45

int result;

cpp Код:
for(int i=0;i<255;i++)
     {
       
         result=result+buff[i]%255;

     }
вы про это?
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм для подсчета ошибочных табличек turtles Java 0 28.09.2011 14:36
VBA, составить программу подсчета денег Женечка Visual Basic 0 28.11.2010 20:33
Программа для подсчета количества точек Shturmovik Зацените! 10 30.01.2007 11:36
Алгоритм Бута ускоренный алгоритм умножения чисел MrPIT Алгоритмы 0 20.05.2006 18:12
Код программы для подсчета баллов Хочу быть программистом Вопросы начинающих программистов 3 04.05.2006 09:29
Написать функцию для подсчета длины списка Glider Lisp 1 19.03.2006 06:39
Программа для подсчета количества букв potva С/С++ 7 26.02.2006 15:46
Код программы на Visual Prolog Алгоритм Флойда и Алгоритм Дейкстры r Вопросы начинающих программистов 2 08.12.2005 00:34
Могут ли процессы повлиять на результат подсчета vilru Visual C++ 6 21.06.2004 15:52
Написание кода для подсчета кликов мышки dyv Вопросы начинающих программистов 2 17.05.2004 12:08
Нужен алгоритм подсчета гласных и согласных букв в слове USA Вопросы начинающих программистов 4 05.02.2004 13:44
Как выести учет подсчета графика Anonymous C++ на Unix 7 31.01.2003 14:10



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов