騰訊43億QQ號碼用完后怎么辦?
今天,來聊一聊與騰訊QQ號碼相關(guān)的三個問題,相信大家會有一個比較完整的認識。
QQ號的范圍是多少?
QQ號用完后會怎樣?
QQ號和bitmap淵源?
關(guān)于第一個問題,看完如下的有趣動圖之后,肯定就會知道QQ號的最小值和最大值。

一. QQ號的范圍是多少?
unsigned int uin = getFromCookie(cookie, "uin") ;if ( uin < 10001 ){log.Error("invalid uin %u", uin) ;return INVALID_UIN ;}
從這段簡單的代碼中,我們可以看出很多端倪。其中uin指代的就是QQ號碼,有人說uin是unsigned int的縮寫,有人說是user ID number的縮寫。

二. QQ號用完后會怎樣?

三. QQ號和bitmap淵源
如果沒有敏感意識到使用bitmap,就是很糟糕很不應(yīng)該的事情,說明基本沒有好好去準備啊。bitmap圖解如下:


由此可見,一個unsigned char類型的數(shù)據(jù),可以標識0~7這8個整數(shù)的存在與否,這是很好理解的,以此類推:
一個unsigned int類型數(shù)據(jù)可以標識0~31這32個整數(shù)的存在與否。
兩個unsigned int類型數(shù)據(jù)可以標識0~63這64個整數(shù)的存在與否。
| 內(nèi)存大小 | 標識數(shù)的范圍 |
| 4B | 0~31 |
| 8B | 0~63 |
| 16B | 0~127 |
| ... | ... |
| 512MB | 0~2^32 - 1 |
由此可見,512MB的內(nèi)存大小,剛好可以用來標識所有的QQ號碼的存在與否,一切迎刃而解。
下面,我們看一下bitmap的程序,很好懂,也很實用,輕輕松松地實現(xiàn)了標記功能,順便去重。
#include <iostream>#include <set>#include <cstring>using namespace std;#define N 20 // 考究0~19這20個數(shù)字#define SHIFT 5#define MASK 0x1funsigned int a[1 + N / 32] = {0};// 設(shè)置第i位為1, 讓它處于點亮狀態(tài)void setOne(int i){a[i >> SHIFT] |= (1 << (i & MASK));}// 設(shè)置第i位為0, 讓它處于熄滅狀態(tài)void setZero(int i){a[i >> SHIFT] &= ~(1 << (i & MASK));}// 獲取第i位的狀態(tài)int getState(int i){return (a[i >> SHIFT] & (1 << (i & MASK))) && 1;}int main(void){// 把1,3,1,4,9,9,9這幾個值的狀態(tài)點亮,即狀態(tài)為1setOne(1);setOne(3);setOne(1);setOne(4);setOne(9);setOne(9);setOne(9);int i = 0;for(i = 0; i < N; i++){cout << i << "對應(yīng)的狀態(tài)為:--->" << getState(i) << endl; // 獲取狀態(tài)}cout << endl;return 0;}
0對應(yīng)的狀態(tài)為:--->01對應(yīng)的狀態(tài)為:--->12對應(yīng)的狀態(tài)為:--->03對應(yīng)的狀態(tài)為:--->14對應(yīng)的狀態(tài)為:--->15對應(yīng)的狀態(tài)為:--->06對應(yīng)的狀態(tài)為:--->07對應(yīng)的狀態(tài)為:--->08對應(yīng)的狀態(tài)為:--->09對應(yīng)的狀態(tài)為:--->110對應(yīng)的狀態(tài)為:--->011對應(yīng)的狀態(tài)為:--->012對應(yīng)的狀態(tài)為:--->013對應(yīng)的狀態(tài)為:--->014對應(yīng)的狀態(tài)為:--->015對應(yīng)的狀態(tài)為:--->016對應(yīng)的狀態(tài)為:--->017對應(yīng)的狀態(tài)為:--->018對應(yīng)的狀態(tài)為:--->019對應(yīng)的狀態(tài)為:--->0

往 期 推 薦
2、Xcode棄用Bitcode,導致應(yīng)用體積大幅增加
點分享
點收藏
點點贊
點在看
評論
圖片
表情





