方法一:
start = clock(); while( (BITSIZE-sizeof(int)*index)>=sizeof(int) ) { //printf("%d %d\t",( *(int *)((char*)bits+sizeof(int)*index) ),(*(bits+index))); //result |= ( *(int *)((char*)bits+sizeof(int)*index) ); result |= ( *(bits+index) ); index++; } if(result==0) printf("bits is all 0!\n"); else printf("bits is not all 0!\n"); finish = clock(); printf( "%d %d %d tick\n",start,finish, finish - start );
方法二:
start = clock(); while( (BITSIZE-sizeof(int)*index)>=sizeof(int) ) { if( *(bits+index)==0 ) { index++; continue; } else break; } if(index==(BITSIZE/sizeof(int))) printf("bits is all 0!\n"); else printf("bits is not all 0!\n"); finish = clock(); printf( "%d %d %d tick\n",start,finish, finish - start );
方法一和方法二的效率基本一致