2016-09-26 3 views
-3

C에서 문자 배열의 일부 비트를 지우고 싶습니다! 나는 (예를 들어) 4 개 비트를 지우려면 더 빠른 경우이 방법을 알고 싶어 :문자 배열 지우기

for(int i =0; i<3; i++){ 
array[2][i][9][14][1] = 0; 
array[2][i][8][14][1] = 0; 
array[2][i][7][14][1] = 0; 
} 

또는

unsigned char data[2][3][10][30][2]; 
에 의해 배열이 초기화

memset(&array[0], 0, sizeof(array)); 

를 사용하여 전체 배열을 취소하여

+6

실제로 5-D 어레이를 보았습니까? 불쾌감을 느끼지 말고 코드를 리팩터링 할 시간. –

+0

그 말은 재미있는 배열이다. –

+0

시작과 끝에서'time' 클래스를 사용하여 스스로 테스트하고 차이를 계산하십시오. –

답변

-2

컴파일 중 코드 최적화에 따라 다릅니다. 모든 컴파일러가 다른 최적화를 사용합니다. (gcc/ms Visual Studio/etc ...)

저는 현재 아무도 최적화없이 컴파일하지 않는다고 생각합니다.

어떤 방법이 더 빠른지 비교하는 가장 좋은 방법은 자신의 벤치 마크를 만드는 것입니다.

정말 큰 데이터로 모든 방법을 시도해보십시오. 청소 전과 청소 후 모든 방법에 대해 시간 경과 기록을 기록하고 가장 빨리 사용하십시오.

memset이 가장 빠르다고 생각합니다. 단지 시도.

+0

이것은 주석으로 적합합니다. – alk