Article View: pl.comp.lang.java
Article #153928Re: przesunięcie biotwe w Java - dziwny błąd
From: Sc0rpi0
Date: Sat, 02 Nov 2013 06:37
Date: Sat, 02 Nov 2013 06:37
30 lines
1813 bytes
1813 bytes
> Mam takie wyrażenie:
>
> short w = (short) (((byte)dana) << x);
> ... String.format("%04X",w);
>
> jeżeli dana zawiera (byte) 0x88
>
> a x = 5
>
> to otrzymuję F100
>
> zamiast 1100
>
>ach! x to int.
Akurat to nieistotne czy x to int bo to przesunięcie - natomiast co do danej
cokolwiek mniejszego od inta jest zamieniane na int przy uzyciu operatora
<<, więc (byte) w tym miejscu i tak nie ma sensu, a wynik w tym przykładzie
też jest intem. Poza tym jeżeli tak by to miało być jak w zamierzeniu (wg
mojego przypuszczenia) to wynik powinien być 0 a nie 0x1100 (byte ma 8 bitow
ze znakiem). Żeby zrobić to co wydaje mi się, że miało być to:
short w = (short)(byte)(dana<<x);
z wynikiem 0, a aby dostać 0x1100 to po prostu:
short w = (short)(dana<<x);
Technical Details
Message-ID:
<l52699$aiq$1@news.agh.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!.POSTED!not-for-mailReferences:
<fb7c6605-2b1d-4241-8bed-9caf7952f21f@googlegroups.com> <1ad891af-ba67-44c5-8f1a-294cb9f42db1@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!.POSTED!not-for-mail From: "Sc0rpi0" <sc[zero]rpi[zero]@scosys[dot]eu.org> Newsgroups: pl.comp.lang.java Subject: Re: przesunięcie biotwe w Java - dziwny błąd Date: Sat, 2 Nov 2013 07:37:43 +0100 Organization: AGH Lines: 33 Message-ID: <l52699$aiq$1@news.agh.edu.pl> References: <fb7c6605-2b1d-4241-8bed-9caf7952f21f@googlegroups.com> <1ad891af-ba67-44c5-8f1a-294cb9f42db1@googlegroups.com> NNTP-Posting-Host: rap.fema.krakow.pl X-Trace: news.agh.edu.pl 1383373929 10842 195.150.11.173 (2 Nov 2013 06:32:09 GMT) X-Complaints-To: abuse@agh.edu.pl NNTP-Posting-Date: Sat, 2 Nov 2013 06:32:09 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit