Oi Jorge,
também já tentei fazer isto e meu código foi o
seguinte:
public byte[] intToBytes(int j)
{
byte[] bytes = new byte[4]; int i;
for(i=0; i<4; i++)
{
bytes[i] = (byte)( (j >>> ((4 - i - 1)*8) ) & 0xFF ); } return bytes; } Porém, o último byte estava ficando com um valor
errado. Se eu atribuisse este valor para uma variável int, então, ela recebia o
valor correto. Acho que o problema é a perda de precisão na conversão para byte.
Se você descobrir o erro, me informe.
O teste que fiz foi o seguinte:
tentei transformar o número 1000 e o resultado foi
o seguinte
(b0 = 0,
b1 = 0, b2 = 3, b4 = -24), o que resultava em 744;
Porém, se utiliza-se um int para armazenar o último
valor o resultado era:
(b0 = 0,
b1= 0, b2 = 3, b4 = 232), o que resultava em 1000;
|
- [java-list] int para byte[] Jorge Martins
- Re: [java-list] int para byte[] Bruno Reded
- Re: [java-list] int para byte[] Bruno Diniz de Paula
- Re: [java-list] int para byte[] Bruno Diniz de Paula
- RE: [java-list] int para byte[] Cleto Henrique Andrade Silva
- RE: [java-list] int para byte[] Jorge Martins
- RE: [java-list] int para byte[] Bruno Diniz de Paula
- RE: [java-list] int para byte[] Jorge Martins
- RE: [java-list] int para byte[] Jorge Martins
- RE: [java-list] int para byte[] Bruno Diniz de Paula
- Re: [java-list] int para byte[] Anderson