Transformação de variáveis

Pessoal, o problema é o seguinte: tenho um arquivo txt, peguei a primeira linha desse arquivo, que é essa:

add $1, $2, $3

essa linha está numa variável do tipo String, mas tenho que pegar cada número desse e transformá-lo em binário, acredito que para isso eu devo guardar cada número numa variável de tipo diferente (talvez int) e usar um método que transforma decimal em binário (já vi algo assim em algum lugar).

Bem pessoal é isso aí, desde já agradeço!

Aguardo resposta…

Isso aí embaixo separa a instrução e converte o identificador do registrador para binário:

String inst = "add $1, $2, $3"; String[] op = inst.split("([\p{Space} | \p{Punct}])+"); System.out.println(op[0]); for (int i = 1; i < op.length; i++) { op[i] = Integer.toBinaryString(Integer.parseInt(op[i])); System.out.println(op[i]); }

iae pessoal bom dia
vc poderia esplicar o q ocorre dentro dos parenteses do split???

inst.split("([\p{Space} | \p{Punct}])+");

desde ja obrigado :grin:

é uma expressão regular que separa a string sempre que houver uma sequencia de um ou mais (sinal +) caractere de espaço ou de pontuação ([\p{Space} || \p{Punct}])

Ok e para pegar uma string e transformá-la em hexadecimal?

Obrigado!

Decimal para Binário:

String str = Integer.toBinaryString(int)

Decimal para Octal:

String str = Integer.toOctalString(int)

Decimal para Hexadecimal

String str = Integer.toHexString(int)

Binário para Decimal

int dec = Integer.parseInt(str,2)

Octal para Decimal

int dec = Integer.parseInt(str,8)

Hexadecimal para Decimal

int dec = Integer.parseInt(str,16)

Não sei se isso é possível, mas eu estava precisando melhorar essa expressão regular, pois ela não funciona se houver(em) espaço(s) antes da instrução add.

Obrigado pela ajuda pessoal!
Aguardo resposta…

faça assim antes de aplicar o split:

inst = inst.trim();