8位无符号整数点分式版本
1、点分式版本
版本 1.0.1.800 ,每个数字占用2个字节,一个8个字节组成8位无符号整数
利用下面的脚本进行校验和转换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #!/usr/local/bin/python3 # -*- coding: utf-8 -*- __author__ = 'qqvipfunction' import re def versionToUInt64(version): version = version.strip() pattern = re. compile (r '^(\d+)\.(\d+)\.(\d+)\.(\d+)$' ) match = pattern.match(version) if match: uint16_max = 2 << 16 - 1 uint64_tuple = match.groups() value0 = int (uint64_tuple[ 0 ]) value1 = int (uint64_tuple[ 1 ]) value2 = int (uint64_tuple[ 2 ]) value3 = int (uint64_tuple[ 3 ]) if value0 < = uint16_max and value1 < = uint16_max and value2 < = uint16_max and value3 < = uint16_max: value = (value0<< 48 |value1<< 32 |value2<< 16 |value3) return str (value) return "invalid formate version" if __name__ = = '__main__' : while True : version = input ( "version:" ) version = version.strip() print ( "version " + "\"" + version + "\" " + "to uint64 = " + versionToUInt64(version)) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架