🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#153924
From: Arivald
Date: Sat, 19 Oct 2013 18:05
38 lines
2027 bytes
W dniu 2013-10-19 19:21, bigMamma pisze:
> 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.
>


"char" w javie jest 2 bajtowy. użyj zamiast tego "byte"

Po za tym dane wejściowe są już "byte", rzut niepotrzebny. W C jest 
rzut, dla uzyskania "unsigned", bo "char" w C jest "signed".


-- 
Arivald
Technical Details
Message-ID: <l3uhle$hni$1@news.dialog.net.pl>
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.dialog.net.pl!not-for-mail
References: <ac680459-12a5-4824-9c86-55e44cd487c3@googlegroups.com>

Show Full Headers
Complete Article Headers
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.dialog.net.pl!not-for-mail
From: Arivald <NOSPAMarivald@interia.pl>
Newsgroups: pl.comp.lang.java
Subject: Re: obliczenie sumy kontrolnej (w C+ działa) a w
 java?
Date: Sat, 19 Oct 2013 20:05:35 +0200
Organization: Dialog Net
Lines: 39
Message-ID: <l3uhle$hni$1@news.dialog.net.pl>
References: <ac680459-12a5-4824-9c86-55e44cd487c3@googlegroups.com>
NNTP-Posting-Host: dynamic-78-8-98-236.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1382205934 18162 78.8.98.236 (19 Oct 2013 18:05:34 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Sat, 19 Oct 2013 18:05:34 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.0
In-Reply-To: <ac680459-12a5-4824-9c86-55e44cd487c3@googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit