지도에서 위치 정보를 저장하는 파일을 작성합니다 (예 : 개체가 스폰되는 위치). 내가 파일에 바이트를 작성하고 바이트 내에서 X이있을 것, y는 내가 파일바이트에 여러 값 저장
int typeData = stream.readByte();
int x = typeData >> 2;
int y = typeData & 3;
에서 그들을 구문 분석하는 방법을 좌표이 내가 달성하고 싶은 무슨을의 예입니다. 는 내가 확실하지 않다하는이 코드는 테스트되지 않았습니다, 이것은 예를 들어 예를
outStream.writeByte((x << 2) + (y | 3));
, 나는이 쓰기 과정에서해야 할 것이 무엇이며 가능성이 잘못된 것입니다.
2 비트로 'y'의 가능한 값은 0, 1, 2 및 3입니다. 충분합니까? 이와 같이 비트 스트링에 값을 패킹해야하는 이유가 불분명합니다. 메모리와 디스크 공간은 꽤 싸고'int'를'x'와'y' 둘 다에 할당하면 문제가 발생하지 않습니다. 여기에서 해결하고자하는 _ 문제가 무엇인지 설명해야합니다. –
바이트 조작은 어셈블러 시대의 연습입니다. 오늘은 절대 할 필요가 없습니다. –
필자가 읽으려고하는 파일의 일부 정보에 대한 파서 만 가지고 있으므로 필자가 그 파일에 더 많은 정보를 저장할 수 있도록 작성기를 만들고 싶습니다. 그러나이 정보를 다시 작성하는 것이 더 좋을까요? – JavaGuy