Bom galera, sou novo aqui no fórum e gostaria de uma ajuda de vcs…tenho uma classe que faz toda uma leitura de mensagens originadas de um TEF…o meu problema : tenho que desenvolver um sisteminha que “leia” esta mensagem e converta ela para binários…ou seja, recebo uma stringe tenho que converter para binários…até tudo ok…fiz uma interface gráfica do bit1 ao bit 127 (label e textfield) e campo de mensagem (textarea)…como que devo proceder (um exemplo) de como passar a mensagem completa (campo textarea) e retornar cada bit em seu devido textfield? sou iniciante em java…
abraços!
Só corrigindo ali em cima ta Stringe -> String.
pra converter vc cria um método e usa String.toBinaryString(int).
ou então
http://javafree.uol.com.br/topic-871976-String-em-binario.html
seria +ou- isso?
não é nem o caso da conversão… eu tenho o “conversor”…eu teria que digitar a mensagem em um campo e “clicando” em um “botão converter”, ele converteria para binário e largaria cada bit convertido em seu respectivo textfield…exemplo : 0700 = 11100000000…conversao tudo ok, agora pegar o binário e passa-lo para o campo “bit1”…como seria isso?
Hmm pode postar parte do código?
pelo q eu entendi aqui você ta usando swing?
seria +ou- isso eu axo
String a = 11100000000;
bit1.setText(a);
só um exemplo a grosso modo…
axo q falei ‘merda’ + pelo q entendi foi isso…
Você vai ter que criar uma lógica para capturar cada um dos bits dentro dos bytes que você pegou da String usando os operadores << e >>. Por exemplo, se você quer pegar o bit menos significativo dentro do seu byte, você pode fazer:
byte byteDaString = 3; //equivale a 00000011
byte comparadorAuxiliar = 1;
byte primeiroBit = (byte) (byteDaString & comparadorAuxiliar ); //equivale a fazer a operacao 00000011 AND 00000001
//primeiroBit agora possui o valor 1, que corresponde ao bit 1
Agora, queremos pegar o segundo bit. Pode-se fazer:
comparadorAuxiliar = (byte)(comparadorAuxiliar << 1); //equivale a 00000010
byte segundoBit = (byte) (byteDaString & comparadorAuxiliar); //equivale a fazer a operacao 00000011 AND 00000010
segundoBit = (byte)(segundoBit >> 1); //O segundo bit também é 1.
E assim por diante. Claro que você usará mais variáveis, irá colocar essa lógica em um loop e tudo o mais. Mas a ideia é por aí.
ok…esta parte entendi…tenho feito aqui uma interface, digamos um label bit1 e um textfield nb1…agora tenho que passar o valor da conversao de hexa para bin toda vez que eu clicar no botao generate…como devo proceder?