版本号数值传输转换
2016-09-10 14:08
155 查看
通常软件APP等都需要做提示升级功能,客户端在获取服务器版本号时,将得到的值与客户端本地值进行比较判断升级,版本号提升则要提示升级,而其中的版本号值的传输,则可以通过字符串或者数值的形式传输;
这里以版本versions:"1.2.3"为例,通过字符串传输的形式则比较直观,客户端接收后,进行split拆分判断即可,而通过转换数值后再传输,则更省流量及提升性能;
版本号与单个数值之间换算,则可以结合位移、位与、位或实现,实现代码如下:
这里以版本versions:"1.2.3"为例,通过字符串传输的形式则比较直观,客户端接收后,进行split拆分判断即可,而通过转换数值后再传输,则更省流量及提升性能;
版本号与单个数值之间换算,则可以结合位移、位与、位或实现,实现代码如下:
#include <stdio.h> #include <stdlib.h> #include <iostream> typedef unsigned int uint; int main(int argc, const char * argv[]) { //自定义版本号 int versions[3] = {1,2,3}; //转换为单个数值 uint verNum = versions[0] << 24 | versions[1] << 16 | versions[2] << 8; printf("verNum:%d\n",verNum); //逆向还原版本号 uint mainV = verNum >> 24; uint subV = ((255 << 16) & verNum) >> 16; uint minV = ((255 << 8) & verNum) >> 8; printf("versions:%d.%d.%d\n",mainV,subV,minV); return 0; }
相关文章推荐
- Raspberry Pi 的基礎 - 安裝 CentOS 7 for ARM
- LeetCode 20. Valid Parentheses
- 解决含EditText页面的软键盘自动弹出问题
- Android Animation学习(一) Property Animation介绍
- PHP 真正多线程的使用
- 试帖
- laravel model relationship
- 有符号数除以2的幂
- 编程珠玑第九章--性能之代码调优
- unity如何调用另一个脚本中的变量
- 标题颜色
- 事件驱动编程---队列应用--银行排队模拟--学习与思考
- IO重定向及管道操作
- Maven+Struts2+MyBatis+Spring搭建教程
- Filter过滤器
- AppCompatActivity中使用SearchView
- mySQL解压版配置
- python 3.3 下载带有防盗链的文件
- Android安全加密:消息摘要Message Digest
- C语言标准库函数getenv的实现