由两个char变量、一个int变量、一个short变量组合成long类型,代码如下:
char area = num;
char channel = 2;time_t tm;
time(&tm);
int timestamp = (int)tm;
srand(time(NULL));
unsigned short randnum = (unsigned short)rand()%65535;
long id;
id = (((long)area)<<56)|(((long)channel)<<48)|(((long)timestamp)<<16)|(((long)randnum));
实际为移位操作,将某个变量移动到制定的组合后的类型位置。