Sadece 8 bite ihtiyacım olduğu için bir baytta depolanacak bir bit maskesi var. Onu yaratıyorum zaman bir dize olarak bunu (Ben bu şekilde daha kolay olacağını düşündüm) ve sonra Byte.parseByte(mask,2)
bir byte haline çevrilmesi, ama belirli değerleri çalışmıyor bulundu:Neden Byte.parseByte ("10000001", 2) bir NFE atar?
String bits="10000001";
Byte.parseByte(bits,2);// throws a NFE
Ama bunu yaparsam: hiçbir sorun yoktur
byte b=(byte)0x81; //1000 0001
.
PS: Ben geçici bir çözüm, byte b=(byte)Integer.parseInt(bits, 2);
buldum ama yine de ben byte
Kısa cevap: Çünkü bayt imzalandı. –
Evet, biliyorum, ilk 1, bunun negatif bir sayı olduğunu söylüyor. Benim amacım sorun olmamalı. Bir String alırsam -127'yi nasıl saklayabilirim? –