Duvida com shift

5 respostas
oitathi

Uma duvida simples: se eu tiver o hexadecimal: 00 00 19 D6, o que eu devo fazer para transforma-lo em 19 D6 00 00 ?
Obrigada!

5 Respostas

ViniGodoy

Não testei, mas deve ser algo assim:

int value = 0x19D6;

int newValue = 0;
for (int i = 0; i < 4; i++) {
   int lastByte = value & 0xFF;
   newValue = newValue << 8 | lastByte;
   value = value >> 8;
}
ViniGodoy

Ops… corrigi uns bugzinhos ali em cima.

oitathi

dah erro na ultima linha: not a statement…

oitathi

então Vini, o q acontece eh q esse metodo que vc fez dah como resposta D6 19 00 00, mas eu preciso que dê 19 D6 00 00, entende?

ViniGodoy

Ah, entendi.

Então é só fazer:

int value = 0x19D6; value = value << 16;

Criado 29 de março de 2011
Ultima resposta 29 de mar. de 2011
Respostas 5
Participantes 2