2012-05-24 3 views
0

이전에는 이진 데이터를 읽지 않았습니다. 지금 배우려고하고 FLAC 파일에서 헤더 데이터를 읽고 사람이 읽을 수있는 형식으로 정보를 표시하는 간단한 응용 프로그램을 만들려고합니다.데이터와 혼합 된 비트 플래그는 어떻게 읽습니까?

첫 번째로 관심있는 데이터의 첫 번째 비트가 0x10000100인데 C#을 사용하여 첫 번째 비트 (1)을 읽은 다음 그 다음 7 비트에 저장된 int 값을 읽는 방법은 무엇입니까? binaryreader를 사용하여 바이트 배열로 바이트를 읽는 방법을 이미 알고 있습니다 ... 코드에서이 데이터를 구문 분석하는 방법을 모르겠습니다. 사전에

감사합니다.

답변

2

Binray "및"& "또는"|~는 비트를 추출하는데 사용되어, "아니오".

byte value = 0x84; 
bool flag = (value & 0x80) != 0; 
var intPart = value & ~0x80; 
+0

쿨, 감사 : 여기

는 대략적인 코드입니다. 이 모든 방식이 어떻게 작동하는지, 그리고 그 표기법이 왜 그런지에 대해 자세히 설명 할 수있는 소스가 있습니까? 나는 그것을 얻는다. 그러나 나는 아직도 부족하게 느낀다. – agent154

+0

검색어 - "C# 비트 조작"또는 "C# 비트 연산". 이 질문 http://stackoverflow.com/questions/93744/most-common-c-sharp-bitwise-operations 많은 정보가있는 것 같습니다. 주제에는 많은 언어 (C/Java/C#/JavaScript ...)에 대한 공통 구문이 있으므로 언어별로 검색을 제한 할 필요는 없습니다. –