short a = 1;
switch(a & 0x00FF){
...
switch(a & 0x00FF){
...
리틀 엔디안에서는 다음과 같은 메모리 연산이 발생한다.
0x00 01 & 0x00 FF
그럼, 빅 엔디안에서는 어떨까?
0x01 00 & 0xFF 00
그럼, 만약 a가 어떤 이유에선지 리틀 엔디안 형식의 1값(0x00 01)을 저장하고 있고 위 코드가 빅 엔디안에서 돌아간다고 하면 어떻게 되는걸까?
0x00 01 & 0x FF 00
제대로 동작하게 하려면 어떻게 해야하나?
short a; //리틀 엔디안 형식의 1값 (0x00 01)을 가지고 있다고 가정함.
a = little2big(a);
switch(a & 0x00FF){
...
메모리 내용을 보면 다음과 같은 순서로 변해간다.a = little2big(a);
switch(a & 0x00FF){
...
1) 0x00 01 -엔디안 변경-> 0x01 00
2) 0x01 00 & 0x FF 00


덧글