[C++基础]位运算应用——创建guid
来源:互联网 发布:体重测试软件 编辑:程序博客网 时间:2024/06/05 20:11
/*|(按位或):x|y=z(z>=x、y),想想x,y各个二进制位一一对齐,只有对应为上有1,就取1,最后就得到了x,y的更大值。"|"可以简单认为是就获取更大值的操作运算符&(按位与):x|y=z(z<=x、y),想想x,y各个二进制位一一对齐,只有对应为上有0,就取0,最后就得到了x,y的更小值。"&"可以简单认为是就获取更小值的操作运算符>>(按位右移):x|y=z,想想x的二进制位右移y位(不要有小数点的想法,以为是一对小数点呢,哎,之前它一直困扰我),也就是从x二进制位的末端抹去y个位<<(按位左移):x|y=z,想想x的二进制位左移y位,也就是在x的二进制位的末尾增增加y个0。*///RGB色彩合并int ColorMerge(int r,int g,int b){ //24位的rgb值=r占8位+g占8位+b占8位 //在r的二进制位末尾增加16个0,在g的二进制位的末端增加8个0,最后,r、g、b的各个二进制位取1 return r << 16 | g << 8 | b;}//RGB色彩分理void ColorSeparate(int rgb){ //24位的rgb值=r占8位+g占8位+b占8位 int r = rgb >>16;//去掉末尾16个二进制位 int g = rgb >>8 & 0xff;//0xff-->255-->由8个1组成的二进制位,去掉末尾8个二进制位后, int b = rgb & 0xff;}uint64 CreateObjID(int platfromid,int serverid,int curTime,int seed){ // create guid //二进制位,seed(随机种子)占16位,curTime(时间戳)占32位,serverid(服务器id)占8位,platfromid(平台id)随机占8,总64位 uint64 guid = ((platfromid)<<(8+32+16)) | ((serverid)<<(32 + 16)) | ((curTime)<<16) | ((seed)&0xffff); return guid;}
0 0
- [C++基础]位运算应用——创建guid
- C 位运算应用
- 黑马程序员——C基础之位运算符
- 基础—位运算例
- C 位运算应用技巧
- 黑马程序员——C语言基础篇---基本运算和位运算
- Java基础——位运算符
- 黑马程序员——C基础——进制、输出控制符和位运算
- 《C语言及程序设计》程序阅读——位运算及其应用
- C———位运算总结
- 黑马程序员——IOS基础---C语言学习之内存分析与位运算
- C语言——位运算
- c笔记——位运算
- C语言基础—进制 基本数据类型的存储 位运算
- C语言—位运算、char、数组
- C位运算符-经典应用总结
- 应用位运算 c语言实现比较:
- C001-C语言-位运算应用集合
- 主机与vmware中虚拟机互ping
- 《数据结构》实验一:VC编程环境灵活应用
- 习题3.3投骰子的随机游戏
- coin change problem 的一个变体
- .NET软件工程师网络在线培训就业课程
- [C++基础]位运算应用——创建guid
- C# : HttpWebResponse 无法获取cookie的解决办法-
- hdu1561 (树形DP_01背包)
- java虚拟机
- 现在的大学
- 简单学写Jquery插件
- GitHub 与 Xcode5.1.1结合使用
- 逆向安卓app如何快速追踪到handlemessage发送的地方
- 项目管理的十大原则