Article View: pl.comp.lang.java
Article #153923obliczenie sumy kontrolnej (w C+ działa) a w java?
From: bigMamma
Date: Sat, 19 Oct 2013 17:21
Date: Sat, 19 Oct 2013 17:21
26 lines
1941 bytes
1941 bytes
Dzień dobry,
mam następujący problem.
Oryginalny kod w C+:
short CalcCrc(char *str,int len)
{
short crc=0;
for(int i=0;i<len;i++)
crc ^= (short)((unsigned char)str[i]) << (i%9);
return crc;
}
wylicza sumę kontrolną. Przepisałem to w Java:
public static byte [] CRC(byte[] dane) {
short crc = 0;
for (int i = 0; i < dane.length; i++) {
crc ^= (short)(( char)dane[i]) << (i%9);
}
String w = String.format("%04X", crc);
return w.getBytes();
}
niestety, nie zwraca mi prawidłowej sumy kontrolnej. Czy mogę prosić o pomoc?
ps. operacja na CRC to ma być XOR z 16 bitową liczbą, przsuniętą w lewo o modulo z 9 do swojej pozycji.
Technical Details
Message-ID:
<ac680459-12a5-4824-9c86-55e44cd487c3@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.glorb.com!news-out.readnews.com!news-xxxfer.readnews.com!209.85.216.87.MISMATCH!o2no14234055qas.0!news-out.google.com!9ni52399qaf.0!nntp.google.com!i2no21774960qav.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
X-Received: by 10.182.108.136 with SMTP id hk8mr3357488obb.11.1382203282639; Sat, 19 Oct 2013 10:21:22 -0700 (PDT) X-Received: by 10.49.12.100 with SMTP id x4mr235752qeb.0.1382203282614; Sat, 19 Oct 2013 10:21:22 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.glorb.com!news-out.readnews.com!news-xxxfer.readnews.com!209.85.216.87.MISMATCH!o2no14234055qas.0!news-out.google.com!9ni52399qaf.0!nntp.google.com!i2no21774960qav.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.java Date: Sat, 19 Oct 2013 10:21:22 -0700 (PDT) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=188.122.6.105; posting-account=S68uugoAAADAKFnRPdRLP91xa88xg3LE NNTP-Posting-Host: 188.122.6.105 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <ac680459-12a5-4824-9c86-55e44cd487c3@googlegroups.com> Subject: obliczenie sumy kontrolnej (w C+ działa) a w java? From: bigMamma <marcinchuc@gmail.com> Injection-Date: Sat, 19 Oct 2013 17:21:22 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit