所以我想到了一种将整个版本字符串存储在整数中的方法,并且能够有效地比较它。我知道有一些方法可以使用字符串拆分等方法来比较版本,但我很想知道是否可能出现以下内容:
// version = major << 16 | minor << 8 | revision
int version1 = 1 << 16 | 2 << 8 | 3 // 1.2.3
int version2 = 0 << 16 | 13 << 8 | 2 // 0.13.2
if(version1 > version2) { ... } // true
这是一种存储版本的实用方法,并且能够轻松地比较它们吗?与分裂和比较字符串相比,这样做有什么特别的优点或缺点吗?