BitConverter.ToInt32를 사용하여 바이트 배열을 int로 변환하고 있습니다.BitConverter.ToInt32에서 2 바이트로 변환
필자는 단 두 바이트 [0] [26]을 가지고 있지만이 함수는 4 바이트를 필요로하므로 기존 바이트 앞에 두 개의 0 바이트를 추가해야합니다.
가장 빠른 방법은 무엇입니까?
감사합니다.
BitConverter.ToInt32를 사용하여 바이트 배열을 int로 변환하고 있습니다.BitConverter.ToInt32에서 2 바이트로 변환
필자는 단 두 바이트 [0] [26]을 가지고 있지만이 함수는 4 바이트를 필요로하므로 기존 바이트 앞에 두 개의 0 바이트를 추가해야합니다.
가장 빠른 방법은 무엇입니까?
감사합니다.
대신 (int)BitConverter.ToInt16(..)
을 사용해야합니다. ToInt16
은 2 바이트를 short
으로 읽어들입니다. 그런 다음 캐스팅 된 동영상을 int
으로 간단히 변환하면됩니다.
Array.Copy
. 마음에
int myInt = BitConverter.ToInt16(...);
유지 : 그러나
byte[] arr = new byte[] { 0x12, 0x34 };
byte[] done = new byte[4];
Array.Copy(arr, 0, done, 2, 2); // http://msdn.microsoft.com/en-us/library/z50k9bft.aspx
int myInt = BitConverter.ToInt32(done); // 0x00000026
하는 BitConverter.ToInt16`에 호출 (바이트 []) 더 좋은 생각입니다 그럼 그냥 int로 저장 : 여기에 몇 가지 코드입니다 endianess 그러나. 리틀 엔디안 시스템에서는 { 0x00 0x02 }
이 실제로는 512가 아니고 2입니다 (엔디안과 관계없이 0x0002
은 여전히 2입니다).
2 비트 만 읽는 BitConverter.ToInt16을 호출해야합니다.
short
은 암시 적으로 int
으로 변환 가능합니다.
그러나 endianess에 대해 메모를 작성하고 싶을 수도 있습니다. –