🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #153923

obliczenie sumy kontrolnej (w C+ działa) a w java?

#153923
From: bigMamma
Date: Sat, 19 Oct 2013 17:21
26 lines
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-mail

Show 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