Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Parsowanie bajtu ze stringa (dlaczego wyjątek?)

3 views
Skip to first unread message

Czterysta Czwarty

unread,
Dec 7, 2009, 1:50:39 PM12/7/09
to
Witam!
Szybkie pytanie, odpowiedź pewnie prosta do bólu :)

parsuję zmienną ze Stringa do Byte:
Byte.parseByte("10111010", 2);
i nie wiedzieć czemu wyrzuca mi "NumberFormatException: Value out of
range."
A przeliczając w kalkulatorze wychodzi mi 186.

Wytłumaczy mi ktoś dlaczego?

sieciowy groszek

unread,
Dec 7, 2009, 3:40:34 PM12/7/09
to
> parsujďż˝ zmiennďż˝ ze Stringa do Byte:
> Byte.parseByte("10111010", 2);
> i nie wiedzieďż˝ czemu wyrzuca mi "NumberFormatException: Value out of
> range."
> A przeliczaj�c w kalkulatorze wychodzi mi 186.
>
> Wyt�umaczy mi kto� dlaczego?

Czyta�e� dokumentacj�?
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Byte.html

ruf10

unread,
Dec 7, 2009, 3:45:04 PM12/7/09
to
Czterysta Czwarty pisze:
> Witam!
> Szybkie pytanie, odpowied� pewnie prosta do b�lu :)
>
> parsujďż˝ zmiennďż˝ ze Stringa do Byte:
> Byte.parseByte("10111010", 2);
> i nie wiedzieďż˝ czemu wyrzuca mi "NumberFormatException: Value out of
> range."

> A przeliczaj�c w kalkulatorze wychodzi mi 186.
>
> Wyt�umaczy mi kto� dlaczego?

A jaki zakres ma byte w javie?

Czterysta Czwarty

unread,
Dec 7, 2009, 4:05:31 PM12/7/09
to
> A jaki zakres ma byte w javie?

Rozumiem. Max 127. W takim razie jak zapisać ciąg 0 i 1 ze Stringa do
pliku? Chciałem pociąć go na części po 8 znaków, sparsować do bajtów i
zapisać.

Brzezi

unread,
Dec 7, 2009, 5:26:36 PM12/7/09
to
pon, 07 gru 2009 o 22:05 GMT, Czterysta Czwarty napisaďż˝(a):

>> A jaki zakres ma byte w javie?
>

> Rozumiem. Max 127. W takim razie jak zapisa� ci�g 0 i 1 ze Stringa do
> pliku? Chcia�em poci�� go na cz�ci po 8 znak�w, sparsowa� do bajt�w i
> zapisaďż˝.

Mozesz wyjasnic czego potrzebujesz i co chcesz osiagnac?

Pozdrawiam
Brzezi

Czterysta Czwarty

unread,
Dec 7, 2009, 5:53:55 PM12/7/09
to

> Mozesz wyjasnic czego potrzebujesz i co chcesz osiagnac?
Implementuję kodowanie Huffmana i mam stringa zawierającego 0 i 1
muszę to zapisać do pliku, ale nie w formie stringa tylko bajtów.

Zdziwiło mnie, że Byte może mieć max: (2^7)-1, czyli 127, a nie od 0
do 255.
Do tej pory używałem Byte, ale nie "zaglądałem do środka" :)

Może mi ktoś wyjaśnić, jak zapisywać taką serię bitów do pliku?

Dziękuję i pozdrawiam.
Tomasz

ruf10

unread,
Dec 7, 2009, 6:54:14 PM12/7/09
to
Czterysta Czwarty pisze:

>> Mozesz wyjasnic czego potrzebujesz i co chcesz osiagnac?
> Implementuj� kodowanie Huffmana i mam stringa zawieraj�cego 0 i 1
> musz� to zapisa� do pliku, ale nie w formie stringa tylko bajt�w.
>
> Zdziwi�o mnie, �e Byte mo�e mie� max: (2^7)-1, czyli 127, a nie od 0
> do 255.
> Do tej pory u�ywa�em Byte, ale nie "zagl�da�em do �rodka" :)
>
> Mo�e mi kto� wyja�ni�, jak zapisywa� tak� seri� bit�w do pliku?

Rozumiem, �e tego stringa sam wygenerowa�e� implementacj� Huffmana. Powiniene� u�y� java.util.BitSet - obiekt
mo�e zwr�ci� byte[] kt�r� zapisujesz bezposrednio do strumienia.

Czterysta Czwarty

unread,
Dec 8, 2009, 2:56:00 AM12/8/09
to
On 8 Gru, 00:54, ruf10 <ru...@none.pl> wrote:
> Rozumiem, że tego stringa sam wygenerowałeś implementacją Huffmana. Powinieneś użyć java.util.BitSet - obiekt
> może zwrócić byte[] którą zapisujesz bezposrednio do strumienia.

Rozumiem. Dziękuję!

0 new messages