Inverter niblles em um byte(resolvido)

olá pessoal.

tenho a seguinte variavel :


byte a = 0xAF;

quero transformar ela para:

a= 0xFA;

Alguém tem uma luz…

sds

j.silvestre

Você pode tentar

byte b = (byte) (((a & 0x0F) << 4) | ((a & 0xF0) >>> 4));

Antigamente, quando fazer contas era caro e o acesso a memória não era tão comparativamente caro quanto hoje em dia, eu criaria uma tabela de 256 posições contendo todos os resultados possíveis, e então acessaria essa tabela. Hoje em dia o acesso a memória é comparativamente lento e não vale a pena acessar uma tabela.

entanglement

mais uma vez obrigado…

valew…

sds

j.silvestre

[quote=entanglement]Antigamente, quando fazer contas era caro e o acesso a memória não era tão comparativamente caro quanto hoje em dia, eu criaria uma tabela de 256 posições contendo todos os resultados possíveis, e então acessaria essa tabela. Hoje em dia o acesso a memória é comparativamente lento e não vale a pena acessar uma tabela.
[/quote]

Sobre velocidade de memória versus CPU, tem esse artigo interessante aqui:
http://harmful.cat-v.org/software/OO_programming/_pdf/Pitfalls_of_Object_Oriented_Programming_GCAP_09.pdf