589
社区成员




if (tsflag)
{
bbg++;
bgo++;
if (err>=3)
ge3++;
err = 0;
}
else
{
err++;
if (bbg==2)
c2s++;
else
{
if (bbg>2)
c2p+=bbg-1;
}
bbg = 0;
}
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <intrin.h>
#pragma intrinsic(__rdtsc)
#define N 10000000
int a[N];
int b[N];
int c[N];
int main()
{
srand( time(NULL) );
int i;
for( i = 0; i < N; i++ ){
a[i] = rand();
//b[i] = (i &1) ? a[i] : -a[i]; // 如果b数组用这个方式初始化,那么时间就比较大
b[i] = rand();
}
unsigned __int64 t1, t2, t;
t1 = __rdtsc();
//for( i = 0; i < N; i++ ){ c[i] += !( a[i] - b[i] ); }
for( i = 0; i < N; i++ ){ if(a[i]==b[i] ) c[i]++; }
t2 = __rdtsc();
t = t2 - t1;
printf("%llu\n", t );
return 0;
}
if(tsflag)
{
++bbg;
++bgo;
ge3+=(err>=3);
err=0;
} else {
++err;
const unsigned int cc=bbg==2;
c2s+=cc;
c2p+=__umul24(__umul24(1u^cc,bbg>2),bbg-1);
bbg=0;
}
if( a== 0 ) b = 1;
else if( a == 1 ) b = 5;
转化成
b = (a<<2) + 1;