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…
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
[quote=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
[/quote]
blz… entendi…
agora tipo como é que funciona a conversão de hexadecimal para byte!
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.
[quote=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.
[/quote]
blz… valeu pelas dicas…