版本号 转化 long long 的算法

来源:互联网 发布:数据线速度测试 编辑:程序博客网 时间:2024/06/08 14:00

/**

 * 版本号 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,所以不会重复

0 0
原创粉丝点击