首先,先把這些資料實現位向量:
該例中資料型別為int,且為32位
#define bitsperword 32
#define shift 5
#define mask 0x1f
#define n 10000000
int a[1+n/bitsperwoed];
把其對應位置0:
void clr(int i)
把其對應位置1:
void set(int i)
查詢對應位是否為1:
int test(i)
然後將其運用到大資料的排序中,現將資料置於點陣圖中,然後遍歷列印,如果有重複資料則需要再用乙個陣列進行標記,列印時候考慮重複
1,for(i=0,n)
if(!test(i))
set(i)
2,for(t = 0, n)
if(test(t))
printf();
具體實現**可以參考其他人的**
邏輯運算 位運算
今天有人問我,邏輯運算是什麼,現在來解釋一下 邏輯運算就是相當於資訊競賽基礎工具中的一位的位運算 符號對應關係 wedge cap 交 and 與運算 vee cup 並 or 或運算 neg not 非 xor 異或運算 x k 將x的二進位制右移k位 如 x 10110 2 時,k 1,那麼x ...
邏輯位運算與邏輯運算
兩者非常容易混淆,其實這是截然不同的兩種運算.1.邏輯位運算 與運算 1 2 0 0000 0001 0000 0010 0000 0000 0 或運算 1 2 3 0000 0001 0000 0010 0000 0011 3 按位求反 運算,異或 運算略.移位 左移,右移 運算略.2.邏輯運算 ...
C 邏輯運算 位運算
c gossip 邏輯運算 位運算 一 邏輯運算 在邏輯上有所謂的 且 或 與 反 運算,在c 中也提供這幾個基本邏輯運算所需的 邏輯運算子 logical operator 分別為 且 或 及 反相 三個運算子。來看看下面這個程式會輸出什麼?int num 75 cout num 70 num 8...