Conersao byte, inteiro, String...[resolvido]

4 respostas
L

Onde encontro material sobre conversao de byte para inteiro de inteiro para byte…
Eu nao quero código, quero a explicação de como funciona, pois códigos eu já tenho e já encontrei um monte, mas olhando o código não entendi como é a lógica para converter em todas as vias…

4 Respostas

ViniGodoy

byte para inteiro. Não existe conversão. Como o int é maior do que o byte, um valor só é copiado para outro:

byte y = 10; int x = y;

De byte para int. Você é obrigado a fazer cast. Como um inteiro não cabe num byte, apenas os bits menos significativos são considerados:

int x = 341; //Em binário, tem nove bits: 101010101 byte y = (int) x; //Apenas os oito últimos bits "cabem": 01010101 = 85

L

ViniGodoy:
byte para inteiro. Não existe conversão. Como o int é maior do que o byte, um valor só é copiado para outro:

byte y = 10; int x = y;

De byte para int. Você é obrigado a fazer cast. Como um inteiro não cabe num byte, apenas os bits menos significativos são considerados:

int x = 341; //Em binário, tem nove bits: 101010101 byte y = (int) x; //Apenas os oito últimos bits "cabem": 01010101 = 85

blz… entendi…

agora tipo como é que funciona a conversão de hexadecimal para byte!

ViniGodoy

Hexadecimal é uma base numérica. Não existe conversão. Todo número pode ser representado em diferentes bases.

Agora, se vc quiser que o java gere a representação hexa de um número, e então transforme essa representação numa String, aí vc usa a função:

Integer.toHexString();

Agora, qualquer byte tem um valor hexa. Por exemplo, o valor 125 em binário é 1111101, e em hexa é 7D. Você pode ver os valores usando a calculadora científica do Windows.

Para descobrir como converter um valor em outro, divida o valor decimal na base desejada. Por exemplo, para a base hexa (16) vc faria:

125 / 16 = 7 resta 13. Em hexa A=10, B=11, C=12, D=13.
Por isso, 7D.

L

ViniGodoy:
Hexadecimal é uma base numérica. Não existe conversão. Todo número pode ser representado em diferentes bases.

Agora, se vc quiser que o java gere a representação hexa de um número, e então transforme essa representação numa String, aí vc usa a função:

Integer.toHexString();

Agora, qualquer byte tem um valor hexa. Por exemplo, o valor 125 em binário é 1111101, e em hexa é 7D. Você pode ver os valores usando a calculadora científica do Windows.

Para descobrir como converter um valor em outro, divida o valor decimal na base desejada. Por exemplo, para a base hexa (16) vc faria:

125 / 16 = 7 resta 13. Em hexa A=10, B=11, C=12, D=13.
Por isso, 7D.

blz… valeu pelas dicas…

Criado 3 de fevereiro de 2010
Ultima resposta 3 de fev. de 2010
Respostas 4
Participantes 2