/**
* 版本号 a.b.c.d=> d + c<<16 + b<<24 + a<<32
*/
+ (unsignedlonglong)versionToLong:(NSString *)versionStr
{
staticunsignedlonglong vv =0;
if (vv >0) {
return vv;
}
NSArray<NSString *> *versions = [versionStrcomponentsSeparatedByString:@"."];
unsignedlonglong v[4] = {0};
for (int i =0; i <4 && i < versions.count; i++) {
v[i] = versions[i].integerValue;
}
vv = v[3] + (v[2]<<16) + (v[1]<<24) + (v[0]<<32);
return vv;
}
每位规定 不能大于256
每位 相差8 位,最大相差256,所以不会重复