리틀 엔디안에서 빅 엔디안으로 값을 변환하는 방법을 찾고 있습니다. 하나의 정수가 아닌 비트 배열로 표현 된 값을가집니다. 엔디안 스왑 기능을 구현하려면 어떻게해야합니까?endianness-를 비트 배열로 변환하는 방법
0
A
답변
2
저는 C++ 사람이 아니므로이 일을 일반적으로 할 것입니다.
빅 엔디안에서 리틀 엔디안으로 변환하는 것은 바이트를 반대로하는 것입니다. 즉, 8 비트 세그먼트입니다.
그래서 당신이 (여기 pseudocoded) N
바이트의 배열이있는 경우 :
bool bits[8*N];
을 당신은 같은 것을 할 것입니다 : 코멘트에
for(int i = 0; i < N/2; i++) {
for(int j = 0; j < 8; j++) {
bool tmp = bits[8*i+j];
bits[8*i+j] = bits[8*(N-i-1)+j];
bits[8*(N-i-1)+j] = tmp;
}
}
을, 당신이 언급 한 그 "비트" 나중에 올바른 비트로 평가되는 표현식에 대한 포인터입니다. 이 방식으로 포인터의 순서를 변경하면 나중에 비트를 가져올 때 엔디안 네스가 올바르게 변경됩니다.
1
관련 문제
- 1. node.js에서 endianness를 테스트하는 방법
- 2. typedview를 배열로 변환하는 방법
- 3. Excel VBA를 사용하여 이진 문자열을 정수 비트 배열로 변환하는 방법
- 4. 문자열을 jqplot의 배열로 변환하는 방법
- 5. 목록에이 JSON 배열로 변환하는 방법
- 6. PNG 이미지를 배열로 변환하는 방법?
- 7. 이 문자열을 배열로 변환하는 방법
- 8. NameValueCollection을 바이트 배열로 변환하는 방법
- 9. asp.net에서 배열로 XML을 변환하는 방법
- 10. System.Drawing.Image를 바이트 배열로 변환하는 방법?
- 11. 이미지를 WORD (uint16) 배열로 변환하는 방법?
- 12. 범위를 비트 배열로 변환
- 13. 32 비트 time_t 값을 64 비트 time_t로 변환하는 방법
- 14. ImageSource를 비트 맵으로 변환하는 방법?
- 15. 요일을 비트 마스크로 변환하는 방법?
- 16. 비트 맵을 이미지로 변환하는 방법
- 17. 폴리곤 집합을 비트 맵으로 변환하는 방법
- 18. C#에서 비트 맵을 부울 배열로 변환하는 빠른 방법은 무엇입니까?
- 19. 문자열을 32 비트 정수 배열로 변환하는 방법은 무엇입니까?
- 20. 24 비트 정수를 3 바이트 배열로 변환하는 방법은 무엇입니까?
- 21. char에서 C++의 비트 배열로 변환하는 방법은 무엇입니까?
- 22. 데이터베이스를 배열로 변환하는 클래스
- 23. java arraylist를 javascript 배열로 변환하는 방법?
- 24. void 포인터를 클래스 배열로 변환하는 방법
- 25. String을 Java의 String 배열로 변환하는 방법
- 26. 문자열 Mac 주소를 바이트 배열로 변환하는 방법
- 27. scipy - 함수 결과를 배열로 변환하는 방법
- 28. 자바에서 이미지를 바이트 배열로 변환하는 방법?
- 29. JPEG 이미지를 바이트 배열로 변환하는 방법?
- 30. yaml 파일을 Java를 사용하여 배열로 변환하는 방법
'std :: reverse' 작업을하지 않거나 거대한 것을 놓치고 싶습니까? – chris
@chris : Endian-ness는 가장 중요한 * byte *가 무엇인지 결정합니다. – tskuzzy
@chris : 전체 시퀀스를 뒤집을 것이라고 생각합니다. 엔디안 만 ... 바이트를 바꿔야하나요? – Puppy