o seguinte tenho uma variavel CHAR = 0xFA, que em decimal é 250.
o problema é que quando converto para int é jogado no jtextfield o valor -6, quando deveria aparecer 250.
Se sua definição de byte é “inteiro sem sinal que vai de 0x00 a 0xFF”, em vez de usar um cast (não se esqueça - casts em Java não fazem o que você precisa), faça um AND com 0xFF. Exemplo:
byteb=(byte)0xFA;inti=b&0xFF;// vai obter o valor desejado, que é 0xFA = 250.
darklordkamui
acabei de testar isso… e me retornou 250 certinho… vc ta fazendo algo errado
int var = 0xfA;
System.out.println(var);
E
entanglement
Cuidado que char != byte. Isso porque o char é equivalente a um “unsigned short” (2 bytes) do C/C++.
Mesmo assim, se você tem esse char 0xFA, você pode usar exatamente a mesma coisa que eu usei:
charc='\u00FA';inti=b&0xFF;// vai obter o valor desejado, que é 0xFA = 250.